[Logo du Hublot]

Numéro 10 -- Décembre 2000

Dans ce numéro, on achève de présenter les commandes Unix de base, et on se lance dans les choses sérieuses en matière de sécurité informatique. On attaque aussi des sujets plus techniques en LATEX.

À suivre au mois de janvier, le prochain stage informatique: on y parlera de LATEX, de forum, du logiciel de dessin xfig ... et de ce que vous nous suggérerez!

Comme dans chaque numéro, les conseils de lecture et les bonnes adresses:

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!

En pratique

Cette rubrique porte sur l'utilisation pratique des machines Unix et de LATEX. Ce mois-ci, on présente les commandes pour renommer, déplacer copier et détruire des fichiers. La section «Config conscrits» explique comment faire du copier-coller. système de fenêtrage. Enfin, la rubrique LATEX explique ce que sont les packages, et quels sont les plus courants.

Commandes Unix (fichiers)

On achève ce mois-ci le tour d'horizon des commandes Unix de base, pour la gestion quotidienne des fichiers. Les mois suivants, on verra divers petits logiciels, ainsi que la façon d'enchaîner des commandes, et les «jokers». Si vous êtes allergiques au clavier, n'oubliez pas qu'il existe aussi des gestionnaires de fichiers à la souris sur les stations (le spartiate xfm et le plus joli et plus lourd kfm). Cela dit, si vous êtes connectés à distance, vous ne pourrez utiliser que les commandes clavier; il est donc utile de les connaître...

cp (copy)

Sert à faire une copier d'un fichier, selon la syntaxe suivante:

brick ~ $ cp fichier nouveau

fichier est le nom du fichier existant, nouveau est le nom de la copie.

mv (move)

Cette commande sert à la fois à renommer et à déplacer les fichiers. Pour renommer, la syntaxe est la suivante:

 brick ~ $ mv fichier nouveau 

Le premier nom est le nom actuel du fichier, nouveau est le nouveau nom du fichier. Pour déplacer un fichier, on indique le nom du fichier, suivi du nom du répertoire où l'on veut placer le fichier:

brick ~ $ mv commentaires DEA/

Cette commande place le fichier commentaires dans le sous-répertoire DEA/ de votre compte.

rm (remove)

rm sert à effacer un fichier, avec la syntaxe suivante:

brick ~ $ rm fichier
rm: remove fichier (yes/no)? y

À la demande de confirmation, répondez pas yes ou simplement y. Si vous répondez autre chose, le fichier ne sera pas effacé.

/!\ Mises en garde /!\

Mais cette option n'est pas activée partout: le plus souvent, quand vous vous retrouverez sur un système Unix hors de l'ENS, il n'y aura pas cette sécurité, et rm effacera vos fichiers sans demander confirmation. Soyez donc prudents...

Ces trois commandes sont expliquées sur le site des tuteurs: /tuteurs/unix/fichiers.html. Vous trouverez également des exercices corrigés sur mv et cp: /tuteurs/unix/exercices/cp_mv.html.

Le mois prochain, on présentera l'utilitaire less, qui sert à regarder des fichiers texte sans les modifier.

Config conscrits: le copier-coller

Principe

Le copier-coller consiste à recopier un bout de texte pour le coller ailleurs, soit dans le même document, soit ailleurs. Les logiciels manipulant du texte comportent des commandes permettant de faire du copier-coller, avec raccourcis claviers ou menus; on peut aussi utiliser la souris (ce que la souris sélectionne est gardé en mémoire, le «presse-papier» des Macs et de Windows).

On ne va parler ici que du copier-coller à la souris, sans évoquer les commandes spécifiques des éditeurs et des traitements de textes. D'autre part, il ne s'agit que de copier du texte, et rien d'autre.

En pratique

Pour faire du copier-coller, on sélectionne le texte avec le bouton gauche, et on colle avec le bouton du milieu:

Un double-clic sur un mot le sélectionne automatiquement. C'est particulièrement utile pour des noms de fichiers, des adresses électroniques, ou encore des URL*. Un triple clic sélectionne toute la ligne. Ça ne sert pas à grand chose, mais c'est rigolo.

Logiciels courants

Voici quelques conseils pour utiliser plus efficacement le copier-coller avec les logiciels courants:

Pour les éditeurs en général, n'oubliez pas qu'ils incluent des commandes pour insérer des fichiers extérieurs (^R avec pico donc pine, ^I ou Include File dans le menu File pour nedit, :r fichier avec vim, ^XI ou Include File dans le menu File de emacs).

Le mois prochain, on parlera des raccourcis clavier de la config conscrits.

LATEX: les packages

Les packages sont des ensembles de commandes qui permettent d'étendre les fonctionnalités de LATEX ou de changer son comportement. Certains s'appliquent automatiquement à l'ensemble du texte, d'autres rendent simplement disponibles des commandes particulières. Ils correspondent à des fichiers qui ont un suffixe .sty. Note: «package» est un mot anglais, et comme tel, nous devrions le mettre en italiques dans tout ce texte... Mais comme l'alternative francophone «paquetage» est très rare et guère plus explicite, nous assumons l'usage de package en français dans le texte.

Utilisation de packages

Pour charger un package, on utilise la commande \usepackage{nom}, où nom est le nom du package. Cette commande se place dans le préambule du document, avant le \begin{document}.

Certains packages prennent des options; celles-ci sont écrites entre crochets, avant le nom du package lui-même; quand il y a plusieurs options, on les met à la suite, séparées par des virgules: \usepackage[option1,option2]{package}

Les packages indispensables

Pour garantir que vos accents passent bien d'une machine à l'autre, et que votre DVI aura des accents, et pour franciser vos documents (titres prédéfinis, typographie, etc), voici les trois packages à utiliser dans tous vos fichiers:

\usepackage[francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

inputenc, c'est l'encodage des accents du fichier source (le fichier .tex). On lui donne l'option latin1, car l'encodage standard des accents occidentaux est l'isolatin1. C'est le même principe pour fontenc (encodage de la fonte dans le DVI).

babel est un système qui permet de gérer une ou plusieurs langues dans un même document; ici, on lui passe l'option francais. Il connaît un certain nombre de langues (bahasa, breton, catalan, croatian, czech, danish, dutch, english, esperant, estonian, finnish, galician, german, greek, irish, italian, lsorbian, magyar, norsk, polish, portuges, romanian, russian, scottish, slovak, slovene, spanish, swedish, turkish, usorbian, welsh, ouf).

Note importante: c'est bien francais et pas french que l'on vous conseille; french n'est pas tout à fait compatible avec le reste de Babel, et il redéfinit des choses, comme l'espacement à l'intérieur des listes, qui n'ont rien à voir avec la francisation. Les Français qui l'ont écrit ont un peu trop intériorisé la notion d'«exception culturelle»...

Ce que gère Babel, ce sont les titres des parties et des tables générées automatiquement, la date écrite dans la langue choisie (commande \today), et aussi certaines macros spécifiques. Pour le français, en voici quelques-unes: 1\ier: 1er; 2\ieme: 2e; 1\iere: 1re.

Quand on lui passe plusieurs langues en argument, celle qui domine dans le texte est la dernière indiquée. Des commandes spécifiques servent à passer dans l'autre langue; par exemple, \textgreek{} pour mettre des mots en grec, ou \cyr{} pour mettre des mots en cyrillique (en supposant que vous avez indiqué greek ou russian dans les options de babel).

Divers packages

Il en existe un tas, qui font un tas de choses... On va voir ici les plus courants, et les plus utiles:

amsmath,amsfonts,amssymb

Ces trois packages définissent des commandes vraiment indispensables pour taper des maths avec LATEX. Et également quelques symboles qui peuvent servir ailleurs. AMS, c'est l'American Mathematical Society.

epsfig

Pour inclure des images au format EPS (PostScript encapsulé), avec la commande \epsfig{}. On en parlera au mois de février.

multicol

Pour faire un document en plusieurs colonnes. Pour cela, on utilise l'environnement multicols (avec un «s», piège diabolique). Par exemple, pour un document écrit sur trois colonnes:

%BEGIN LATEX
\begin{multicols}{3}
%END LATEX
Le texte...
%BEGIN LATEX
\end{multicols}
%END LATEX
url

Pour afficher correctement des adresses électroniques et des URL.

vmargin

Pour redéfinir la taille de la page. On le verra plus précisément dans le prochain numéro.

Pour en savoir plus

Bien sûr, il ne s'agit que d'une très petite partie de tous les packages existants. En fait, chaque fois que quelqu'un écrit une fonctionnalité supplémentaire pour LATEX (par exemple, supertabular pour faire des tableaux sur plusieurs pages), il écrit un package.

Le LATEX companion, dont on trouve normalement un exemplaire (souvent en très mauvais état hélas) dans toutes les salles informatiques, contient une énumération beaucoup plus complète, ainsi qu'une description beaucoup plus détaillée des possibilités.

Notons qu'il y a aussi quelques notices pour les packages les plus utiles installés chez gourous, dans le répertoire /usr/local/util/tex/doc.

Le mois prochain, on expliquera comment régler la taille de la page.

Nicolas George, Émilia Robin

Comment... utiliser les disquettes

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 expliquer ce que sont les disquettes, et comment on s'en sert sur les stations.

L'obscur objet disquette

Voyons un peu la longue histoire des disquettes, aussi appelées floppy disk, c'est-à-dire disques souples. J'en vois déja me dire que les disquettes que vous utilisez sont en plastique rigide, mais ce terme désigne en fait le disque magnétique souple qui se trouve à l'intérieur de l'enveloppe rigide. Il s'oppose aux disques durs (hard disk en anglais), dans lesquels les disques magnétiques (appelés des plateaux) sont rigides.

La préhistoire

Il y a bien longtemps, il n´existait pas de CD-ROM, ni de disques durs ou même de disquettes. On utilisait des cartes perforées. C'était un moyen de stockage et de transmission peu efficace et peu pratique, mais il n'y avait rien d'autre.

On a alors eu l'idée d'utiliser le même principe que pour le stockage de musique, à savoir une surface magnétisée, constituée d'une multitude de minuscules aimants. Ces aimants peuvent être orientés à volonté, et ils gardent alors cette orientation, stockant ainsi de l'information. On a commencé par garder la même forme que pour les cassettes, c'est à dire des bandes magnétiques enroulées sur des bobines, et qu'on déroule pour lire l'information dessus. Ça marchait, mais c'était assez lent, et pour lire les données placées à un endroit précis il fallait dérouler toute la bobine pour atteindre le bon endroit.

Cela avait quand même quelques bons côtés, comme une capacité assez importante. D'ailleurs, le principe est encore utilisé aujourd'hui. Par exemple les sauvegardes des comptes sur clipper sont faites sur des cassettes DAT (Digital Audio Tape, qui sont à la base des cassettes utilisées pour l'enregistrement numérique de musique). D'autres systèmes utilisent des cassettes de caméscope.

Et la disquette fut

Pour pallier ces défauts, on a donc pris cette fois comme surface magnétique un disque souple, qui tournait autour de son axe, qu'on a inséré dans une pochette en plastique souple, laquelle gardait des ouvertures pour accéder à la surface magnétique. De cette manière, on pouvait accéder (presque) instantanément à n'importe quelle partie du disque en question, simplement en le faisant tourner et en déplaçant la tête de lecture le long d'un rayon.

C'est ainsi qu'est apparue la première disquette, qui était alors un mastodonte, connu sous le nom de disquette 8" (lire «8 pouces», c'est à dire un peu plus de 20 centimètres de large, le pouce mesurant exactement 2,54 centimètres) Ce monstre possédait une capacité absolument délirante pour l'époque, à savoir 80 Ko.

Plus tard sont apparues les disquettes 5"1/4 (cinq pouce un quart), qui avaient à la base une capacité de 180 Ko par face, et qui furent utilisées par la majorité des micro-ordinateurs du début des années 1980 (IBM PC, Commodore 64...).

Format actuel

En 1982, Sony créa un nouveau type de disquette qui devait très vite s'imposer, la disquette 3"1/2 (trois pouce et demi), toujours en usage actuellement, et donc la capacité pouvait alors aller jusqu'à 720 Ko. Outre sa taille réduite et sa plus grande capacité, elle comportait deux innovations:

  1. Le disque magnétique était protégé par une enveloppe rigide, ce qui rendait les disquettes moins fragiles.
  2. Les ouvertures pratiquées dans ces enveloppes étaient recouvertes par des caches métalliques, qui coulissaient automatiquement quand on introduisait la disquette dans le lecteur. De cette manière, on ne pouvait plus accidentellement abîmer ou salir la surface magnétique.

Du fait de leur plus grande capacité et fiablité (même si la fiabilité d'une disquette n'est jamais très élevée), ces disquettes furent rapidement adoptées par Apple (dont le Macintosh fut la première machine à l'utiliser), puis par Atari et Commodore (dans les Ataris ST et les Amigas), puis arrivèrent sur les PC avec le PS/2 d'IBM, et devinrent le standard.

Les disquettes 5"1/4 et 3"1/2 ont vu par la suite leurs capacités portées à 1,2 Mo et 1,44 Mo (en 1984 et 1987), et ce sont les capacités utilisées actuellement. Il y a eu une tentative infructueuse pour introduire des disquettes 3"1/2 à 2,88 Mo, mais devant le peu d'enthousiasme du public, cela fut abandonné.

Signalons également le format 3", qui ressemble au format 3"1/2, avec une capacité de 180 Ko par face. Très peu répandu, il ne fut utilisé que par quelques machines (Stratos ou Téléstrat, et surtout l'Amstrad CPC), et à cause du succès soudain de l'Amstrad, ces disquettes connurent des périodes de pénurie assez mémorables pendant lesquelles les prix s'envolèrent.

Hors de la disquette, quel salut?

La première chose à savoir quand on utilise des disquettes est leur manque total de fiabilité: quand on copie un fichier sur une disquette, on n'est jamais sûr de pouvoir le relire. C'est pourquoi il est fortement déconseillé d'utiliser les disquettes comme sauvegarde principale ou comme archive; et quand l'on transfère des fichiers à l'aide de disquettes, il est préferable de tout transférer en double sur des disquettes séparées pour avoir des chances raisonnables d'avoir au moins un exemplaire lisible de chaque fichier.

Une disquette est en effet très sensible aux conditions extérieures, à savoir température, humidité et surtout champs magnétiques. Bon nombre de disquettes ont succombé à un séjour au soleil, dans une pièce humide, ou simplement à un passage à côté de haut-parleurs mal isolés...

De plus, une capacité de 1,44 Mo peut se réveler insuffisante, et s'il existe des outils pour répartir un fichier entre plusieurs disquettes, cela n'est jamais pratique.

Aussi les disquettes possèdent maintenant un certain nombre d'alternatives:

L'élémentaire prudence

On reprend ici un article paru dans le numéro 7 du Hublot, en mai 2000.

Les plantages des ordinateurs fonctionnant sous Windows ou MacOS peuvent entraîner des pertes irréparables de données. Sachez que vous ne pourrez pas vous retourner contre le fabricant du logiciel, car la licence vous avez acceptée possède une clause qui exclut toute responsabilité pour les dégâts que pourrait causer le produit. D'autre part, quel que soit le système, un disque dur est un dispositif électromécanique pouvant être sujet à des pannes matérielles. Vous devez donc faire des sauvegardes régulières de vos données, au moins tous les mois1. Voici quelques conseils:

Enfin, sachez qu'à l'ENS, le Service de Prestations Informatiques effectue une sauvegarde des comptes des élèves (sur les Suns et les PC sous Linux) toutes les nuits, sur des bandes magnétiques.

Utiliser les disquettes sous Unix

Je dois vraiment utiliser ça?

On vous montre ici une façon d'utiliser les disquettes qui peut paraître barbare et pas simple. Mais des commandes au clavier sont le seul moyen de partager un lecteur de disquettes entre plusieurs machines, et de pouvoir l'utiliser à distance. Les Suns, traditionnellement, n'avaient pas de lecteur, seule une machine dans la salle en avait un, utilisé par tout le monde.

En revanche, les interfaces graphiques pour Unix, comme KDE, que vous pouvez avoir sur votre PC Linux, permettent une gestion à la souris des disquettes, pour copier des fichiers ou les mettre sur la disquette. Unix ne se réduit pas à ce que vous en voyez à l'École...

Les mtools

Pour utiliser les disquettes au format PC sur les stations Sun, il existe une ensemble de commande appelées mtools. Il faut savoir qu'à l'ENS les machines Unix ne sont pas toutes équipées d'un lecteur de disquettes, mais on peut se servir du lecteur d'une station sans être physiquement devant. Pour cela, il suffit d'introduire la disquette dans le lecteur (en essayant de ne pas trop déranger la personne devant le clavier), et de se connecter à distance sur la machine en question.

Pour indication, voici la liste des machines équipées de lecteurs de disquettes en salle S (galion, kayak, bireme, brick, jonque, chaland et drakkar), au 46 (belandre et barge), en Infi (jangada, plate, aviso, allege, buyse) à Jourdan (vedette, chaloupe, nave, selandre, gondole), montrouge (ponton, polacre). Cela évolue en fonction des nouvelles machines installées (les Ultra 5 ont toutes des lecteurs).

Une fois la disquette dans le lecteur, voici quelques commandes utilisables (il peut y avoir des fichiers et des répertoires sur une disquette):

mdir Affiche le contenu de la disquette
mcd toto Se déplacer dans le répertoire toto de la disquette
mmd toto Crée le répertoire toto
mrd toto Supprime le répertoire toto, à condition que celui-ci soit vide
mcopy a:bla . Copie le fichier bla de la disquette vers la station dans le répertoire courant
mcopy bla a: Copie le fichier bla vers la disquette
mdel bla Supprime le fichier bla
mdeltree toto Supprime le répertoire toto, ainsi que tous les sous-répertoires et fichiers qu'il contient (à utiliser avec précaution!)
mformat a: Formate la disquette, donc efface tout.

Ceux qui connaissent les commandes MS-DOS les auront reconnues dans les mtools, précédées d'un «m» (pourquoi un «m», personne ne le sait). Le lecteur de disquettes est désigné par a:, et la syntaxe pour les répertoires est la syntaxe habituelle, c'est-à-dire que les répertoires sont indiqués par /, et .. correspond au répertoire précédent.

L'utilisation des disquettes est détaillée sur le site des tuteurs, avec des exemples: /tuteurs/cours/unix/disquettes.html.

Gilles Radenne

Internet

Ce mois-ci, nous nous étendons sur le Web, ses principes et ses fonctionnement, des conseils pour identifier les bons sites, et une présentation des moteurs de recherche. Dans la rubrique «Forum», on continue à expliquer comment lire forum, en abordant ce mois-ci la façon d'aller de conti en conti.

Le Web

Le Web, c'est le truc dont on parle à la télé: les pages, les machins multimédia, les «savoirs en ligne», etc. On en parle tellement qu'on dit «Internet» à la place de «Web» («Je surfe sur Internet», «J'ai trouvé un super site Internet»). Pire encore, il y a des gens qui confondent le logiciel utilisé pour naviguer sur le Web, et le réseau lui-même (ce qui donne des «Tiens, je ne connais pas cette version d'Internet»).

Un aspect d'Internet

Le Web est l'un des aspects d'Internet. Internet, c'est la mise en réseau mondiale d'ordinateurs. Ça implique une infrastructure matérielle (câbles, routeurs...), et une série de protocoles pour faire transiter les informations. Par exemple, le Web utilise le protocole HTTP (hypertext transfert protocol, protocole de transfert des fichiers hypertexte).

Mais Internet c'est aussi le courrier électronique, le transfert de fichiers, la connexion à distance (telnet), les news... Pour chacune de ces fonctions, on utilise un logiciel: navigateur pour le Web, logiciel de courrier, etc.

Si vous voulez, Internet c'est comme une route que les gens utilisent pour différentes fonctions (transport de marchandises, vacances, trajet boulot-dodo, balade à vélo...), et ces fonctions c'est le courrier, le Web, etc.

Principe du Web

Sur le Web2, une adresse s'appelle une URL (Uniform Resource Locator). Prenons pour exemple l'adresse du serveur des élèves de l'ENS: http://www.eleves.ens.fr/. Le http au début indique le protocole à utiliser, et signale qu'il s'agit d'une page Web (cependant, toutes les pages Web ne sont pas servies par HTTP). Le .fr est un nom de domaine, qui indique ici que la page se trouve en droit en France (mais il se pourrait que le serveur, en tant que machine physique, matérielle, soit aux États-Unis). www.eleves.ens désigne en réalité une machine qui héberge le site des élèves de l'institution ENS. Le 80 désigne un numéro de port.

Enfin, le / (slash) qui termine l'adresse indique qu'on se rend au point de départ de l'arborescence du site, en pratique la page d'accueil.

Tout ceci indique la machine à contacter pour rejoindre la page Web. Ensuite, il peut y avoir d'autres informations quelle page précisément on demande à voir. Par exemple, http://www.cof.ens.fr/cineclub/ correspond la page d'accueil du Ciné-Club de l'ENS, elle-même un sous-ensemble logique de COF/.

Quand vous sélectionnez un lien, votre ordinateur envoie une requête sur le serveur désigné par l'URL. Ce serveur renvoie la page demandée par votre navigateur («client» du serveur).

L'ensemble de ces données circulent sur des liens physiques, les câbles, qui ont un débit maximal. La réponse d'un serveur physiquement très éloigné mettra un peu plus de temps à arriver; une grosse quantité de données mettra plus de temps à arriver qu'une petite quantité; enfin, à certaines heures, le réseau est encombré par l'ensemble des données transférées par tous les utilisateurs connectés à ce moment-là. C'est ce qui explique que parfois, une page soit longue à charger.

Noms de domaines

Il y a un certain nombre de noms de domaine. Une partie indique un pays, dont dépend en droit le serveur: .fr pour les serveurs français, .es pour l'Espagne, .ru pour la Russie, .jp pour le Japon, etc.

Il en existe d'autres, comme .edu pour les universités américaines, .org pour les institutions à but non lucratif, .gov pour le gouvernement américain. .int est utilisé en particulier par les organisations établies par traités internationaux, par exemple l'Union européenne.

De nouveaux noms de domaines sont apparus avec l'engouement pour le Web. Par exemple, .com désignait à l'origine des sites d'entreprises, et .net des fournisseurs d'accès au réseau. Mais AOL, fournisseur d'accès, a comme adresse aol.com (pour des raisons historiques, certes). D'autre part, des entreprises peuvent avoir un site avec un suffixe .net, à cause de leur fournisseur d'accès.

C'est aussi une question de modes: .com est à la mode en ce moment, donc les sites veulent absolument un suffixe en .com, y compris si c'est aberrant. Je pense ici au Mur pour la Paix (au Champ de Mars). Le monument a un site Web, sur lequel on peut déposer des messages, qui seront ensuite affichés sur les écrans du monument. Et leur adresse est http://www.murpourlapaix.com/, alors que c'est un suffixe .org, réservé aux organisations à but non lucratif, qui s'imposait...

Un autre exemple: le suffixe .tv est théoriquement réservé aux îles Tuvalu; mais le Web est quelque chose de rentable, et elles ont vendu quelques noms de domaines à des chaînes de télévision qui voulaient une adresse en .tv...

Le site des tuteurs propose un certain nombre de cours sur le Web: comment écrire les pages Web, y insérer des images, concevoir son site (/tuteurs/internet/html/, comment utiliser Netscape (cours du Hublot l'an dernier: /tuteurs/docs/hublot/index.html#annee-1999-2000).

Un «bon» site Web?

Qu'est-ce qu'un «bon» site ? En laissant de côté le top site méga cool avec mes photos de vacances, on peut essayer de dresser une liste de choses qu'un site sérieux se doit d'avoir.

On peut d'emblée résumer la qualité principale d'un tel site sous le mot: lisibilité. Et dans le monde des pages Web, ce mot contient la notion d'accessibilité. On en tire les implications suivantes: la page doit pouvoir être lue par n'importe quel navigateur, les informations doivent être précises, la mise à jour doit être régulière, et enfin il doit être facile de circuler non seulement dans le site mais aussi vers l'extérieur.

C'est pourquoi les sites qui respectent ces principes sont agréables et intéressants à consulter. Les «bons» sites possèdent en général 7 traits distinctifs.

1. Le lien permettant de revenir à la page d'accueil, ou «Home»: en général, il se trouve sous la forme d'une icône avec le logo du propriétaire du site, et se trouve conventionnellement en haut à gauche de la page Web; on le trouve parfois en toutes lettres («Home», «Retour à la page d'accueil») en bas au centre de la page. Un tel lien permet de commencer une nouvelle recherche dans l'arborescence du site.

2. Le plan du siteSite map», «Site index»): très utile pour se répérer, il permet d'avoir une vue d'ensemble du site, et d'orienter sa recherche en fonction des catégories (par ex.: météo, loisirs, arts, sports, info).

3. Un moteur de recherche intégré au site («searchable») permet un accès rapide à un concept, permet d'être fixé rapidement sur nos attentes vis-à-vis de ce site.

4. La rubrique help/FAQ (frequently asked questions, «foire aux questions» en français) ou «Présentation»: il peut être utile de commencer la consultation d'un site par cet endroit. On peut y trouver le mode d'emploi du site, son fonctionnement, la périodicité de mise à jour, le nom du propriétaire, les liens.

5. Quoi de neuf? / «Nouveau» (What's new): indique les dernières modifications de la page, notamment les nouveaux services qui viennent d'être ajoutés, ou encore une réorganisation du site. Il est possible d'être tenu au courant de l'actualité d'un site grâce à une lettre d'information («newsletter») par courrier électronique. Pour cela, il suffit de s'inscrire en laissant son adresse électronique (voir par exemple le site du Monde diplomatique: http://www.monde-diplomatique.fr/).

6. Les liens (links): si par malheur vous n'avez pas trouvé ce que vous cherchiez sur un site, allez visiter ses liens, qui normalement vous dirigeront vers des thèmes similaires à ceux qui vous ont amené là.

7. Contact (feedback): c'est la rubrique qui permet de prendre contact avec les concepteurs du site. Attention! Adressez-vous à la bonne personne et à bon escient. La personne qui a rédigé le contenu de la page (par ex., un article sur les élections présidentielles américaines) n'est pas (pas forcément en tout cas) la même que celle qui a mis la page en langage HTML. À la première personne vous poserez des questions concernant l'article, à la deuxième vous exprimerez vos plaintes ou vos louanges à propos de la mise en page. Dans ce dernier cas, il est recommandé de lire les FAQ au préalable, pour ne pas être le 37e à poser la même question.

Yann Tholoniat

NDLR: on peut ajouter un huitième critère:«lisible» veut le plus souvent dire «sobre»... Pas de débauche de couleurs, pas de trucs qui clignotent, pas de choses écrites en petit dans tous les sens, pas de publicités dans tous les coins, pas de «gratuit!» ou «pas cher!» aux quatre coins de la page, etc.

Les moteurs de recherche

Il est presque impossible de trouver une information sur le Web sans utiliser de moteurs de recherche. Ce sont des sites qui permettent d'interroger des bases de données constituées par des robots qui parcourent le Web et référencent les pages visitées. Mais il faut bien être conscient que les moteurs de recherche ne référencent au mieux que 15% des pages existantes.

Voici un exemple d'utilisation du moteur de recherche Altavista (http://www.altavista.com/). Je demande «Iran», sans plus de détails; j'obtiens 430 665 réponses. Je demande alors que la recherche se fasse uniquement sur des fichiers en français; je n'ai plus que 12 085 réponses. Ensuite, je raffine la demande, en la précisant progressivement; voici les résultats:

Iran : 12 085
+Iran +1979 : 1 722
+Iran +1979 +révolution : 616
+Iran +1979 +révolution +Shah : 48

Le signe + veut dire que le mot qu'il précède (sans espace) doit obligatoirement figurer dans la page référencée. Vous pouvez également utiliser le signe -, pour exclure impérativement le mot des pages recherchées. En règle générale, quoi que l'on recherche, il est utile d'ajouter -hotel -restaurant... Enfin, si vous recherchez une expression telle quelle, mettez des guillemets américains autour ("guerre et paix" par exemple). Ces signes s'appellent des opérateurs booléens.

Raffinez le plus possible vos requêtes: si vous avez plus d'une centaine de pages à consulter, vous ne vous en sortirez pas. D'autre part, soyez conscients que votre requête sera nécessairement ambiguê, même si vous ne vous en rendez pas compte: une recherche sur «cirque» trouvera «arts du cirque» comme «cirque glaciaire».

Tous les moteurs de recherche ne s'utilisent pas comme Altavista. Avec Google (http://www.google.com/), il est inutile de mettre des +. Yahoo (http://fr.yahoo.com/ pour le site français) classe ses adresses selon une arborescence. Lycos (http://www.lycos.fr/) utilise les opérateurs booléens et aussi une arborescence.

Le forum: lire les contis

Nous avons présenté le mois dernier les contis (groupes de discussion) existant dans forum. Ce mois-ci, on va voir comment lire forum, au delà de la commande de base (barre d'espace) expliquée dans le numéro d'octobre.

Lancer forum

Pour lancer forum, tapez forum, cliquez sur l'icône forum ou sur le bouton «Lire forum» de la fenêtre d'information (xforumco, conscrits 2000). Si vous voulez lire un conti spécifique, par exemple kfet, il suffit de taper:

brick ~ $ forum kfet

Forum se présente comme ceci: une barre avec le nom du groupe de discussion, et à droite le numéro du message, suivi du nombre total de messages, et entre parenthèses le nombre de messages non lus dans le groupe de discussion.

En bas, vous avez une autre barre avec les commandes les plus courantes: barre d'espace pour aller de message en message, «R» pour répondre à un message, «m» pour en poster un, et «q» pour quitter. Sous cette barre, vous avez un prompt «À vous», où s'affichent les commandes que vous tapez.

Le message lui-même ressemble à un courrier électronique, avec le nom de l'auteur, la date et le sujet du courrier, éventuellement le nom de la personne à qui l'auteur répond, et parfois d'autres informations:

[Lire forum avec flrn]

Une fois le message lu, appuyez sur la barre d'espace pour aller au prochain message. Quand tous les messages du conti sont lus, forum affiche «Fin du newsgroup». Si vous rappuyez sur la barre d'espace, forum vous place sur le prochain conti auquel vous êtes abonné, et dans lequel il vous reste des messages non lus. Quand tout est lu, forum affiche «Rien de nouveau».

Vous n'avez plus qu'à taper «q» pour quitter forum. Lire forum se résume donc à deux touches: la barre d'espace pour lire, et «q» pour quitter.

Enfilades et discussions

Les messages de forum sont des discussions: un premier message a des réponses, d'autres répondent à ces réponses, et cela donne ce que l'on appelle une enfilade (thread en anglais). Certains messages ont plusieurs réponses, et de fil en aiguille la conversation dérive souvent sur d'autres sujets.

Le schéma (ou arbre) de la discussion est représenté en haut à droite de l'écran: les «O» majuscules représentent les messages encore à lire, les «o» minuscules ceux qui sont lus; l'arobase «@» représente le message sur lequel vous vous trouvez. On peut se déplacer dans l'arbre avec les flèches, et taper sur «Entrée» pour lire le message ainsi sélectionné.

Enfin, on peut utiliser la touche «N» pour avoir une vue plus grande de l'arbre de discussion (refaire «N» pour revenir à la vue normale).

Ordre de lecture

Quand vous lisez forum à la barre d'espace, vous lisez les messages dans l'ordre de la discussion. Quand celle-ci est terminée, vous passez à une autre discussion.

À l'inverse, la touche «Entrée» affiche les messages dans l'ordre de leur publication, indépendamment de leur ordre logique.

Aller dans un conti (1)

Pour se rendre dans un conti donné, tapez «G» suivi du nom du conti et de la touche «Entrée». S'il y a plusieurs possibilités (par exemple, les contis d'annonces), le programme proposera un menu; utilisez les flèches du clavier pour vous déplacer dans le menu et appuyez sur «Entrée» pour sélectionner le conti à lire.

S'abonner, se désabonner

Une fois dans un conti (ou dans la liste de ceux-ci) on peut utiliser «A» pour s'abonner et «D» pour se désabonner.

Quand on s'abonne à un nouveau conti, on risque de trouver qu'il y a un nombre considérable de messages non encore lus; les conscrits 2000 sont chanceux, ils n'auront à lire que les messages vieux de sept jours au plus (ne vous laissez pas impressionner par ce qu'affirme xforumco sur les 1 420 messages non lus).

Cela dit, si vous ne voulez pas lire tous les messages en retard (surtout si vous n'êtes pas conscrit), utilisez la touche «z» (comme zapper), suivie d'«Entrée», pour marquer tous les messages comme lus.

Obtenir la liste des contis

On peut avoir la liste des contis en tapant «L» suivi d'«Entrée». Plusieurs listes s'affichent à la suite:

  1. Dans la première, vous avez la liste des groupes auxquels vous êtes abonné, ainsi que ceux où vous avez déjà lu au moins un message. Enfin, les nouveaux groupes créés figurent également dans cette liste.
  2. La seconde liste est la liste de tous les groupes existants, sauf ceux de la première liste.

Pour quitter ces listes, tapez q jusqu'à récupérer le prompt «À vous» en bas d'écran. S'il y a deux listes, c'est pour avoir plus rapidement accès à celle des contis que vous fréquentez habituellement.

Vous remarquez des lettres devant les noms de certains contis: un «T» veut dire que vous êtes abonné (vous lisez tout ce conti), un «U» veut dire que vous êtes désabonné (unsubscribe)3. Quand il n'y a aucune lettre, c'est que vous n'avez jamais mis les pieds dans ce conti. Pour les promotions antérieures, ces marqueurs peuvent être différents.

Aller dans un conti (2)

Maintenant que vous connaissez les deux listes de contis, sachez que vous pouvez les utiliser pour vous rendre dans un conti donné: sélectionnez-le avec les flèches et tapez «Entrée».

Barre d'espace Aller au prochain message
N Afficher/cacher l'arbre de la discussion
L Afficher les listes de contis
G conti Aller dans ce conti
z Zapper tous les messages du conti
A S'abonner au conti
D Se désabonner du conti
R Répondre
m Poster un message
q Quitter

Le mois prochain, on expliquera comment poster dans forum.

David Madore, Émilia Robin

Qu'est-ce qu'un ordinateur? (3)

Ce cours explique progressivement ce qu'est un ordinateur. Le mois dernier, on a vu en quoi consistait la mémoire, et comment l'information circulait à l'intérieur de la bête. Ce mois-ci, on va voir à quoi sert le processeur.

«Grand Maître, maintenant que nous savons où est l'information, et comment elle voyage, où donc va-t-elle?» «Elle affronte son destin, jeune apprenti. Le sort de toute information est d'être répétée, amplifiée, déformée, cuisinée et pressée jusqu'à ce que sa substantifique moëlle en soit extraite. Et le morceau responsable de cela, c'est le processeur.»

Vous me ferez vingt pompes

«Il n'est point de domaine de la pensée qui échappe à la logique militaire. C'est en vertu de cet adage que l'informatique est universelle et le champ du manipulable par ordinateur est étendu (et, réciproquement, les choses qui échappent aux militaires sont aussi celles à propos desquelles l'ordinateur n'est d'aucun secours). Car le processeur est le vrai tâcheron de l'affaire, le composant qui sait faire le plus de choses et qui a le moins d'initiative.

Le processeur, souvent dit central, ou encore CPU (Central Processing Unit), est une puce de format classique (c'est-à-dire un peu de sable dans une boîte en plastique), et il est caché sous un amoncellement de ventilateurs et de circonvolutions métalliques (structure destinée à le refroidir, car il chauffe beaucoup). Son boulot: le règlement, tout le règlement, rien que le règlement. Il comprend des ordres simples, ordres qui sont codables par des 0 et 1, et que le processeur va chercher en mémoire.

Chaque ordre, il l'exécute à la lettre, sans chercher à comprendre le sens de cet ordre, si tant est qu'il en ait un. La machine n'a pas d'objection a afficher que deux et deux font cinq. Elle peut le faire plusieurs millions de fois par seconde, si on lui demande. Elle peut aussi calculer que deux et deux font quatre si un tel calcul est ordonné. Elle n'est ni psychotique, ni névrosée. Les ordres compréhensibles par le processeur sont de deux types: ceux qui demandent d'effectuer un vrai travail (additionner deux nombres, par exemple), et ceux qui servent à faire tourner la machine, c'est-à-dire de l'administration interne; et, comme sa grande soeur en uniforme, le processeur passe beaucoup de temps à s'occuper de lui-même. Plus précisément, voyons au juste quels sont les ordres possibles. Le processeur peut aller chercher des données en mémoire; c'est-à-dire envoyer sur un bus en direction de la mémoire une requête disant «envoie-moi le contenu à l'adresse numéro tant» (car chaque bit de la mémoire a une adresse, qui l'identifie uniquement).

En réponse, la mémoire renvoie la donnée requise, ou un code de protestation si les données demandées n'existent pas (comme cela peut arriver si le processeur demande le bit 1 934 675 208 et que la mémoire ne contient que 805 306 368 bits). Dans la pratique, le processeur demande ainsi des suites de quelques dizaines de bits consécutifs (guère plus, car ils ne tiendraient pas tous dans le bus). Le processeur peut envoyer des données à la mémoire, pour stockage. Le mécanisme est similaire à celui de la lecture. Le processeur peut additionner, soustraire, multiplier, voire diviser et trifouiller de quelques autres manières des nombres. Ces nombres sont représentés par des suites de 0 et de 1, et ne peuvent pas dépasser certaines valeurs (car le processeur ne peut pas manipuler des suites trop longues d'un seul coup -- il reste limité). Le processeur va chercher ses instructions en mémoire, à la suite: il peut recevoir pour ordre d'aller dorénavant les chercher à une autre adresse. On appelle ça un saut, c'est comme un renvoi dans un formulaire de la Sécurité Sociale («Si vous n'êtes pas demandeur d'emploi, ne remplissez pas le cadre suivant et allez en 11»).

Toutes ces fonctions ont des ordres spécifiques, représentés par des suites bien définies de 0 et de 1. Et une suite d'ordre, c'est un programme. Parfois, on appelle le programme un logiciel si on veut faire smart, ou software si on veut faire smart et british à la fois.»

Article 1: le règlement doit être respecté

«Mais, Guide Suprême, si les données et les ordres sont des suites de 0 et de 1, comment le processeur distingue-t-il les données des ordres?» «Et comment fais-tu la différence entre une averse et un crachin fortement vivifiant?» «C'est une question de contexte; le crachin n'apparaît qu'en Bretagne et Normandie. Dans le Midi, là, il pleut.» «Ben là c'est pareil, petit scarabée. Si le processeur a demandé une instruction, ce qu'il a obtenu, c'est pour lui une instruction. S'il a demandé des bits censés coder un nombre, il a obtenu un nombre. D'ailleurs, les différents ordres exécutés par le processeur passent leur temps à utiliser des informations pour ce qu'elles ne sont pas; par exemple, un nombre devient rapidement une adresse d'un bit en mémoire, et vice-versa.

Et si un jour le processeur tombe sur quelque chose qu'il ne comprend pas (par exemple, une donnée qu'il prend pour un ordre, mais ces 0 et 1 ne codent aucun ordre valide), alors le règlement prévoit des instructions alternatives d'urgence, à exécuter.

Ainsi travaille le processeur, toujours obéissant, sans initiative, il est l'exécutant irresponsable qui amplifie toute erreur jusqu'à l'absurde, éventuellement jusqu'au suicide; le processeur n'a pas de capacité propre d'auto-destruction4 mais peut se stopper et ne plus fonctionner jusqu'à ce qu'on coupe et remette le courant. Et paf le rapport de vingt pages. Et c'est la faute du programmeur, qui a conçu une suite d'ordres absurdes.

Une telle erreur de programmeur, ça s'appelle un bug. Tout logiciel un tant soit peu utile à un quelconque travail comporte des dizaines de bugs5, voire même beaucoup plus. Ainsi va le Monde.»

Thomas Pornin

Sécurité: le chiffrement

Le problème de base du chiffrement, c'est la confiance... De même qu'on fait confiance à des gens pour envoyer des jolis programmes, et pas des virus. Ou qu'on fait confiance à son destinataire pour ne pas faire n'importe quoi avec les messages qu'on lui envoie. Ou qu'on fait confiance à l'administrateur système pour ne pas regarder n'importe où. Quand on se rend compte que tout le monde il est pas Beau et tout le monde il est pas Gentil, on se dit qu'on voudrait bien un peu de confidentialité... Ça s'appelle le chiffrement. NDLR: ce qui suit est parfois dit sur un ton ironique; ne vous laissez pas abuser, son auteur est un spécialiste de cryptographie...

Les mots pour le dire

Chiffrer

rendre inintelligible une donnée à toute personne ne connaissant pas un certain secret, nommé «clé».

Déchiffrer

utiliser la clé pour rendre à nouveau intelligible une donnée chiffrée.

Décrypter

rendre à nouveau intelligible une donnée chiffrée, sans connaissance préalable de la clé (action normalement impossible si le protocole de chiffrement est correct).

Crypter

ce terme n'existe pas ; il est néanmoins souvent employé en lieu et place de chiffrer. Au bûcher les crypteurs.

Cryptographie

art du chiffrement, de la signature, de l'authentification et de la vérification d'intégrité.

Cryptanalyse

art du décryptage, de la production de faux, de la tromperie et de la corruption silencieuse des données.

Cryptologie

science regroupant la cryptographie, la cryptanalyse et l'analyse scientifique de ces deux domaines.

En quoi ça me concerne?

À quoi ça sert?

On a envie de chiffrer ses données dès que l'on transfère des choses privées: informations personnelles, mots de passe, numéro de compte en banque, etc. Sans chiffrement, tout ceci circule comme des cartes postales, lisible par qui veut s'en donner la peine.

Le chiffrement assure un peu de confidentialité aux données sensibles. Il permet aussi de se la jouer superhéros défenseur de la liberté quand on n'a pas de données sensibles à protéger.

Signer/authentifier/vérifier servent à faire des opérations légales, et surtout du commerce, sur un support informatique aléatoire, espionnable et falsifiable à loisir par des hordes de méchants dont on n'imagine pas, d'habitude, le nombre ni l'acharnement (exemple: Internet).

Est-ce bien utile?

Le chiffrement est utile pour certaines entités. Un exemple-type est un réseau informatique entre une entreprise et ses filiales délocalisées.

Signature/authentification/vérification: oui. Ça permet de lire son courrier sereinement depuis l'université de Pétaouchnok-les-oies.

Mais la cryptographie ne fait pas tout; par exemple, la meilleure cryptographie n'empêche personne d'espionner un écran à 200 mètres de distance avec un télescope.

Est-ce légal?

Ça dépend du pays. En France, pour la plupart des systèmes, oui. Le décret du 17 mars 1999 règle les modalités d'usage, de fourniture, d'importation et d'exportation des systèmes cryptographiques; il en ressort qu'un particulier a accès, légalement, à des outils dont la sécurité est à l'épreuve de l'espèce humaine (dans son intégralité), au regard du niveau technologique atteint actuellement par ladite espèce.

Une loi libéralisant totalement l'usage de la cryptographie a été promise par Lionel Jospin pour la fin 1999 (là c'est raté) puis repromise par Laurent Fabius pour «courant 2001».

Dans la plupart des pays, l'usage est libre, l'import/export réglementé. Dans certaines contrées (Chine, Iran, Syrie...), la possession et l'usage sont sévèrement interdites.

Est-ce efficace?

En termes de sécurité, on sait fabriquer des systèmes inviolables. Il existe aussi plein de systèmes parfaitement nuls. D'autre part, la cryptographie établit des tuyaux sécurisés entre deux points de l'espace-temps, mais ne protège pas ces points. Si l'information existe, en clair, quelque part à un moment donné, elle y est vulnérable. Attention aux gens qui regardent par dessus votre épaule. N'écrivez pas vos mots de passe sur un post-it collé sous le clavier.

En termes de performances, c'est raisonnable pour lire son courrier à distance via un ssh ou chiffrer un courrier avec PGP6. C'est encore trop lourd pour faire une sécurité complète et transparente dans certains cas (chiffrement automatique d'un disque dur, par exemple).

Est-ce facile?

Pour l'utilisateur de base, oui, ce n'est pas difficile. Sinon, la cryptographie rentre dans le cadre de la sécurité informatique, ce qui est un métier et ne s'improvise pas.

En pratique, je fais comment?

Les deux prochains numéros détailleront l'utilisation de logiciels sécurisés: en janvier, PGP (pour encrypter le courrier électronique), et en février ssh (pour sécuriser les connexions à distance).

L'indispensable théorie

Chiffrement

On mélange tout, suivant une méthode précise, un peu comme une recette de cuisine. La recette, tout le monde la possède, mais les proportions exactes utilisées, c'est la clé. On peut faire, quand on est très fort, un chiffrement dit «asymétrique», où la clé pour chiffrer et celle pour déchiffrer ne sont pas la même (elles sont liées ensemble, forcément, mais on ne peut pas deviner l'une en fonction de l'autre). Ça permet de rendre une des clés publiques (on la publie dans un annuaire, par exemple) tout en gardant l'autre secrète. Ceci permet de réaliser des opérations intrinsèquement asymétriques:

Les méthodes de chiffrement asymétriques demandent des constructions mathématiques un peu lourdes; dans la pratique, ça va nettement moins vite que les méthodes de chiffrement symétriques, où la même clé sert pour le chiffrement et le déchiffrement. Donc des outils tels que PGP (chiffrement et signature de mails) et SSL (établissement d'une connexion authentifiée et chiffrée) utilisent une mixture: de l'asymétrique pour arriver à transmettre de façon sûre un secret commun, utilisation de ce secret commun pour chiffrer efficacement les données.

Thomas Pornin

Lexique

Alias

On appelle alias une traduction que vous définissez pour un mot que vous tapez en ligne de commande; c'est le plus souvent un raccourci. Par exemple, si vous tapez rm, la machine comprendra rm -i. Les alias qui sont définis de façon permanente le sont dans le fichier .zshrc de votre compte (config conscrits). La commande alias permet d'avoir la liste des alias actuellement définis.

URL

Uniform Resource Locator. C'est ce que les médias appellent une «adresse Web», C'est un bout de texte, possible à taper au clavier, qui indique comment accéder à un document ou une autre donnée. Les plus courantes sont en «http://», ce qui indique le protocole (pour ce mot, voir le numéro 9 du Hublot) à utiliser, et précisent un ordinateur à contacter et le fichier à lui demander.

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:

http://www.eleves.ens.fr/tuteurs/docs/hublot/

Rédaction: Émilia Robin.

Ont collaboré à ce numéro: Marc Espie, Nicolas George, David Madore, Thomas Pornin, Jérôme Plût, Gilles Radenne, Yann Tholoniat.

Merci à Olivier Verzelen pour ses relectures.


1

Une sauvegarde tous les mois, ça veut dire que vous vous autorisez à perdre, éventuellement, un mois de travail.

2

On reprend ici un article paru dans le numéro 5 du Hublot, en mars 2000.

3

On l'a déjà dit ailleurs, on le redit: il y a une certaine part d'arbitraire, et aussi d'habitudes antérieures, dans le choix des commandes de forum, de l'emplacement des contis, ou encore ici des marqueurs.

4

Enfin, quelques-uns si, mais on préfère éviter, parce qu'après ça fait des histoires.

5

Tous sauf un: car Knuth est Grand.

6

Patience, ces termes mystérieux seront expliqués dans les prochains numéros.

Ce document a été traduit de LaTeX par hevea, puis passé en XHTML 1.0 Strict par Joël Riou. Dernière modification : 2002-12-21 par Joël Riou.