Les bases d'informatique

download Les bases d'informatique

of 374

Transcript of Les bases d'informatique

  • 8/8/2019 Les bases d'informatique

    1/373

    Cours SIIAnne 2010-2011

    Stage dinformatique

    pour lingnieur

    Marc Baudoin

    cole nationale suprieure

    de techniques avances

  • 8/8/2019 Les bases d'informatique

    2/373

  • 8/8/2019 Les bases d'informatique

    3/373

    Cours SIIAnne 2010-2011

    Stage dinformatique

    pour lingnieur

    Marc Baudoin

    cole nationale suprieure de techniques avances32 boulevard Victor - 75739 PARIS CEDEX 15 - France

  • 8/8/2019 Les bases d'informatique

    4/373

    Marc Baudoin, 2009, 2010

    Ce document est mis disposition selon les termes du contratc Creative Com-

    mons Paternit - Pas dutilisation commerciale - Partage des conditions initiales lidentique 2.0 France :

    http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

    cbea

    Vous tes libre : de reproduire, distribuer et communiquer cette cration au public ; de modifier cette cration.

    Selon les conditions suivantes :

    b Paternit. Vous devez citer le nom de lauteur original de la manire indiquepar lauteur de luvre ou le titulaire des droits qui vous confre cette auto-risation (mais pas dune manire qui suggrerait quils vous soutiennent ouapprouvent votre utilisation de luvre).

    e Pas dutilisation commerciale. Vous navez pas le droit dutiliser cette cra-tion des fins commerciales.a Partage des conditions initiales lidentique. Si vous modifiez, transformez

    ou adaptez cette cration, vous navez le droit de distribuer la cration qui enrsulte que sous un contrat identique celui-ci.

    chaque rutilisation ou distribution de cette cration, vous devez faire appa-ratre clairement au public les conditions contractuelles de sa mise disposition.La meilleure manire de les indiquer est un lien vers cette page Web.

    Chacune de ces conditions peut tre leve si vous obtenez lautorisation dutitulaire des droits sur cette uvre.

    Rien dans ce contrat ne diminue ou ne restreint le droit moral de lauteur oudes auteurs.

    Ce qui prcde naffecte en rien vos droits en tant quutilisateur (exceptions audroit dauteur : copies rserves lusage priv du copiste, courtes citations, parodie...).

    http://creativecommons.org/licenses/by-nc-sa/2.0/fr/http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
  • 8/8/2019 Les bases d'informatique

    5/373

    Patrick Rougeau,qui ma permis de devenir

    ce que je suis.

  • 8/8/2019 Les bases d'informatique

    6/373

  • 8/8/2019 Les bases d'informatique

    7/373

    Sommaire

    Sommaire 7Avant-propos 9

    I Introduction 13

    1 Le stage dinformatique pour lingnieur 15

    2 Reprsentation et mesure de linformation 21

    3 Premier contact 27

    II Du texte et des diteurs de texte 35

    4 Le texte et son codage 37

    5 Lditeur de texte Emacs 47

    6 Les diteurs de texte vi et Vim 61

    III Linterprteur de commandes 71

    7 Linterprteur de commandes 73

    8 Gestion, organisation et traitement des fichiers 91

    9 Commandes, processus et redirections 149

    10 Impression 197

    7

  • 8/8/2019 Les bases d'informatique

    8/373

    11 Connexion distance 211

    12 Programmation 221

    IV Cration dun site Web 241

    13 Formats de documents et historique de la toile 243

    14 HTML, XHTML 253

    15 Feuilles de style CSS 273

    Annexes 321

    A Rcapitulatif des commandes des diteurs de texte 323

    B Rcapitulatif des commandes 327

    C Rcapitulatif des lments HTML et des proprits CSS 331

    Bibliographie 335

    Index 341

    Index Du texte et des diteurs de texte 343Index Linterprteur de commandes 345

    Index Cration dun site Web 351

    Liste des tableaux 355

    Table des figures 357

    Listages 359

    Table des matires 361

  • 8/8/2019 Les bases d'informatique

    9/373

    Avant-propos

    Former des ingnieurs capables das-

    surer la conception, la ralisation et ladirection de systmes complexes, sousdes contraintes conomiques fortes etdans un environnement international.

    ENSTA PARISTEC H

    CE DOCUMENT est le support de cours du stage dinformatique pour lingnieur(SII) de lcole nationale suprieure de techniques avances 1 (ENSTA Paris-Tech), destin enseigner aux futurs ingnieurs les rudiments de lutilisation dunsystme informatique. Il se veut le plus universel possible et une grande partie de son

    contenu sapplique tout environnement informatique sous UNIX.

    Certaines particularits propres celui de lENSTA ParisTech doivent nan-moins tre mentionnes. Afin de les distinguer clairement, elles seront composescomme ce paragraphe, avec une barre verticale grise en bordure de la marge gaucheet le logo de lENSTA ParisTech dans celle-ci.

    En revanche, ce document ne se veut en aucun cas complet ou exhaustif. Il sagitdun document dintroduction que les plus curieux pourront complter par les pagesWeb indiques en fin de certaines sections et qui sont repres par une barre verticale

    grise en bordure de la marge gauche ainsi que par les ouvrages mentionns dans labibliographie, en particulier le livre La machine UNIX[37], qui tait le support duprcdent professeur responsable de ce cours.

    Le ton de ce document est volontairement incisif. Il faut admettre que la situationde linformatique aujourdhui ne laisse augurer rien de bon pour le futur. En effet,depuis quelques annes, toute diversit a quasiment disparu du march informatiqueet un ordinateur a maintenant toutes les chances dtre un PC (dont le nombrede constructeurs est de plus en plus restreint) dot dun microprocesseur Intel et

    1. http://www.ensta.fr/

    9

    http://www.ensta.fr/http://www.ensta.fr/
  • 8/8/2019 Les bases d'informatique

    10/373

    Avant-propos

    fourni obligatoirement avec Windows (quon peut se faire rembourser avec les piresdifficults du monde si lon souhaite utiliser un autre systme dexploitation). Aucunautre domaine industriel nest victime dune telle rduction des choix. Accepterait-on,

    au niveau mondial, de navoir quune poigne de constructeurs automobiles, un seulfabricant de pneus et un seul ptrolier ? videmment non. Cependant, cela ne choqueabsolument personne au niveau de linformatique... Une certaine diversit existeencore dans linformatique embarque (tlphones mobiles, baladeurs MP3, GPS,botiers de raccordement ADSL, quipements de tlcommunication, sondes spatiales,etc.) mais malheureusement sans que le grand public en ait rellement conscience.

    Bien entendu, les positions exprimes par lauteur 2 de ce document nengagentque lui.

    Comment lire ce document ?

    Le stage dinformatique pour lingnieur tant une introduction pratique lin-formatique, il sera bien plus efficace de lire ce document devant un ordinateur, enreproduisant les exemples et en effectuant les commandes proposes. On a beauregarder le rugby la tlvision, on aura lair malin sur un terrain si on na jamaispratiqu, cest pareil en informatique, on apprend bien mieux en pratiquant. Il estdonc vivement conseill de lire la suite de ce document proximit dun ordinateur.

    Par ailleurs, la version PDF de ce document offre lavantage sur la version im-

    prime que les hyperliens (rfrences croises, liens vers les pages Web) y sont actifset permettent donc de naviguer plus facilement en son sein et vers les pages Webindiques.

    Sur la toile

    Le site de rfrence concernant ce cours est :

    http://www.babafou.eu.org/ensta/sii/

    Vous y trouverez : la dernire version de ce document au format PDF ; le programme des sances de petite classe ; les consignes pour le projet ; les prsentations utilises en cours magistral.

    2. Et lauteur en question a quelques avis bien tranchs en matire dinformatique...

    10

    http://www.babafou.eu.org/ensta/sii/http://www.babafou.eu.org/ensta/sii/
  • 8/8/2019 Les bases d'informatique

    11/373

    Avant-propos

    Terminologie

    Linformatique fait un usage intensif de termes en anglais. On lit parfois et on

    entend souvent son sujet une sorte de magma mlangeant sans vergogne franais,anglais, nologismes et barbarismes 3.Jessaierai autant que possible demployer un franais chti, en indiquant les

    termes anglais quivalents lorsque cela savrera ncessaire.

    Pour faire avancer le Schmilblick 4

    Je vous invite me faire part de vos remarques concernant ce document parcourriel ladresse .

    3. Jentends rgulirement des gens qui parlent de dlter un fichier. Quelle horreur...4. Comme disait Pierre Dac : Le Schmilblick des frres Fauderche est, il convient de le souligner,

    rigoureusement intgral, cest--dire quil peut la fois servir de Schmilblick dintrieur, grce la taillerduite de ses gorgomoches, et de Schmilblick de campagne grce sa mostoblase et ses deux glotosifresqui lui permettent ainsi durnapouiller les istioplocks mme par les plus basses tempratures. a cest clair,jusque l !

    11

    mailto:babafou%[email protected]:babafou%[email protected]
  • 8/8/2019 Les bases d'informatique

    12/373

  • 8/8/2019 Les bases d'informatique

    13/373

    Premire partie

    Introduction

  • 8/8/2019 Les bases d'informatique

    14/373

  • 8/8/2019 Les bases d'informatique

    15/373

    1

    Le stage dinformatique pour lingnieur

    TOUT INGNIEUR utilise aujourdhui quotidiennement loutil informatique. Que

    ce soit pour communiquer par courrier lectronique, pour rdiger des docu-ments, pour utiliser des bases de donnes, pour consulter des sites Web, pour faire dela CAO, pour effectuer des simulations, pour programmer, etc. Lordinateur est uninstrument incontournable.

    Nanmoins, on en est venu oublier le but de linformatique. Rappelons que lemot informatique est un mot-valise n de la fusion des mots information et automatique . Si linformatique donne effectivement accs, grce lInternet, unemasse dinformation considrable (o il est parfois difficile de faire la part des choses),le ct automatique est bien souvent oubli et un ordinateur nest pour beaucoupquun appareil avec lequel on passe son temps agiter une souris pour dplacer des

    icnes...Lutilisation dun ordinateur est de plus en plus rptitive alors quelle devraittre efficace. La faute en revient pour beaucoup aux interfaces graphiques qui, si ellesont lavantage de la simplicit, ont beaucoup perdu en efficacit par rapport ce quiexistait avant lintroduction de la souris et des fentres.

    Lorsquon parle dinterfaces graphiques, cest souvent pour citer leur ergonomieet leur intuitivit. On oublie malheureusement que ce sont deux notions relatives un environnement culturel donn. Utiliser une interface graphique est intuitiflorsquon en connat dj une autre, relativement semblable. Donnez des couverts un Chinois, qui na jamais connu que des baguettes, il aura les pires difficults

    manger avec. Donnez-moi des baguettes, je finirai par avoir une crampe au poignet.Et chacun vous dira que sa faon de manger est plus ergonomique et intuitive quecelle de lautre. Tout est relatif.

    http://fr.wikipedia.org/wiki/Informatique

    1.1 Objectifs du cours

    Dans la mesure o une grande partie des cours de lENSTA ParisTech utiliseloutil informatique, le premier objectif de ce cours est de permettre aux lves

    15

    http://fr.wikipedia.org/wiki/Informatiquehttp://fr.wikipedia.org/wiki/Informatique
  • 8/8/2019 Les bases d'informatique

    16/373

    Chapitre 1. Le stage dinformatique pour lingnieur

    dutiliser au mieux les moyens informatiques de lENSTA ParisTech. Mais nousessaierons nanmoins de dgager des principes gnraux applicables tout systmeinformatique ds que possible.

    En particulier, seront abords : lutilisation dun diteur de texte ; linterprteur de commandes sous UNIX ainsi quun certain nombre de com-

    mandes usuelles ; la conception de pages Web, ce qui donnera lieu la ralisation dun projet

    not.

    1.2 Quest-ce quun systme dexploitation ?

    1.2.1 Gnralits

    Un ordinateur est un ensemble de composants matriels destin faire fonctionnerdes logiciels. Entre ces composants (microprocesseur, disque dur, etc.) et les logicielsdapplication (ceux qui sont visibles pour lutilisateur, tels les logiciels de bureautique),on intercale un logiciel particulier appel systme dexploitation (operating system enanglais).

    Celui-ci permet de masquer aux logiciels les particularits du matriel, il gre lesressources et arbitre les demandes des logiciels.

    Il existe plusieurs systmes dexploitation, le plus rpandu (mais certainement pasle mieux conu) tant Windows. Les ordinateurs de lENSTA ParisTech, quant eux,

    fonctionnent avec un systme dexploitation appel UNIX.http://en.wikipedia.org/wiki/Operating_system

    http://en.wikipedia.org/wiki/List_of_operating_systems

    1.2.2 UNIX

    UNIX a t cr en 1969 dans le cadre dun programme de recherche des Labo-ratoires Bell. Il emprunte de nombreux concepts un autre systme dexploitationappel Multics (Multiplexed Information and Computing Service). UNIX sappelait

    dailleurs lorigine Unics (pour Uniplexed Information and Computing Service), pardrision pour la complexit de Multics, alors que les crateurs dUnics visaient lasimplicit.

    Distribu trs librement lpoque, UNIX a engendr toute une famille desystmes dexploitation et de nombreux concepts introduits par UNIX ont t reprispar dautres systmes dexploitation.

    Aujourdhui, UNIX nexiste plus en tant que systme dexploitation, il sagitdune spcification laquelle sont conformes un certain nombre de systmes dex-ploitation. Parmi ceux-ci, on peut citer (par ordre alphabtique) :

    AIX, lUNIX dIBM ;

    16

    http://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/Operating_system
  • 8/8/2019 Les bases d'informatique

    17/373

    1.2. Quest-ce quun systme dexploitation ?

    les drivs de BSD (Berkeley Software Distribution, un UNIX grandementredvelopp par luniversit de Berkeley) : Darwin (qui est au cur de Mac OSX), FreeBSD, NetBSD et OpenBSD ;

    HP-UX, lUNIX dHP ; Linux, dont il existe de nombreuses distributions (Debian, Fedora, Gentoo,Mandriva, openSUSE, Red Hat, Slackware, Ubuntu, etc.) ;

    Solaris, lUNIX dOracle (qui a rachet Sun Microsystems).

    http://www.unix.org/

    http://en.wikipedia.org/wiki/Unix

    http://fr.wikipedia.org/wiki/Philosophie_dUnix

    http://www.levenez.com/unix/

    http://en.wikipedia.org/wiki/UNIX-like

    http://en.wikipedia.org/wiki/Multics

    http://fr.wikipedia.org/wiki/AIX

    http://en.wikipedia.org/wiki/Berkeley_Software_Distribution

    http://www.freebsd.org/

    http://www.netbsd.org/

    http://www.openbsd.org/

    http://www.hp.com/go/hpux/

    http://www.linux.org/

    http://www.oracle.com/us/products/servers-storage/solaris/

    http://cm.bell-labs.com/cm/cs/who/dmr/otherunix.html

    http://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbook

    1.2.3 Pourquoi UNIX lENSTA ParisTech ?

    Dans la mesure o lon estime que Windows quipe 95 % des ordinateurs dela plante, pourquoi donc utiliser UNIX lENSTA ParisTech ? Il est en effet rai-sonnable de penser que les ingnieurs ENSTA ParisTech, dans leur grande majorit,travailleront sur un PC quip de Windows ds leur premier emploi et nauront plusde contact direct avec un systme UNIX.

    Il y a plusieurs raisons cela.

    On pourrait dire quon utilisait UNIX lENSTA ParisTech bien avant la pre-mire version de Windows. Bien sr, les ordinateurs navaient rien voir avec ceuxdaujourdhui et lUNIX de lpoque tait plus dpouill. En particulier, il ne dispo-sait daucune interface graphique. Dailleurs, il est intressant de sarrter un momentsur ce point. Windows a le dfaut dtre un systme conu de manire relativementmonolithique, o linterface graphique est indissociable des autres services du systme.Ceci peut sembler comprhensible pour un ordinateur de bureau, dont linterfacegraphique est llment le plus utilis mais quen est-il pour un serveur ? Un serveur,trs souvent, est un ordinateur sans clavier, sans souris, sans cran, entrepos dans unlocal rarement visit par des tres humains. En consquence, un serveur est gnra-

    17

    http://www.unix.org/http://en.wikipedia.org/wiki/Unixhttp://fr.wikipedia.org/wiki/Philosophie_d'Unixhttp://fr.wikipedia.org/wiki/Philosophie_d'Unixhttp://fr.wikipedia.org/wiki/Philosophie_d'Unixhttp://www.levenez.com/unix/http://en.wikipedia.org/wiki/UNIX-likehttp://en.wikipedia.org/wiki/Multicshttp://fr.wikipedia.org/wiki/AIXhttp://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://www.freebsd.org/http://www.netbsd.org/http://www.openbsd.org/http://www.hp.com/go/hpux/http://www.linux.org/http://www.oracle.com/us/products/servers-storage/solaris/http://cm.bell-labs.com/cm/cs/who/dmr/otherunix.htmlhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbookhttp://cm.bell-labs.com/cm/cs/who/dmr/otherunix.htmlhttp://www.oracle.com/us/products/servers-storage/solaris/http://www.linux.org/http://www.hp.com/go/hpux/http://www.openbsd.org/http://www.netbsd.org/http://www.freebsd.org/http://en.wikipedia.org/wiki/Berkeley_Software_Distributionhttp://fr.wikipedia.org/wiki/AIXhttp://en.wikipedia.org/wiki/Multicshttp://en.wikipedia.org/wiki/UNIX-likehttp://www.levenez.com/unix/http://fr.wikipedia.org/wiki/Philosophie_d'Unixhttp://en.wikipedia.org/wiki/Unixhttp://www.unix.org/
  • 8/8/2019 Les bases d'informatique

    18/373

    Chapitre 1. Le stage dinformatique pour lingnieur

    lement gr via une connexion distance, habituellement non graphique. On peutalors douter de lutilit dune interface graphique sur un serveur. Pourtant, beaucoupdentreprises ont un parc de serveurs fonctionnant exclusivement sous Windows.

    Sous UNIX, en revanche, linterface graphique est clairement dissocie du systmedexploitation et elle nest pas ncessaire son bon fonctionnement. Sur les serveurssous UNIX, elle nest dailleurs simplement pas installe.

    Voil donc un premier argument en faveur dUNIX : sa conception est bien pluspropre que celle de Windows. Et, dans le cadre de lenseignement de linformatique,il est prfrable dtudier des systmes dexploitation bien conus.

    Pour continuer dans les raisons historiques, UNIX est depuis toujours un systmedexploitation multitche, cest--dire quil est capable de faire fonctionner plusieurslogiciels en mme temps. Il aura fallu attendre Windows 95 pour avoir une bauchede fonctionnement multitche.

    UNIX est galement un systme dexploitation multi-utilisateur, cest--dire quilpermet plusieurs personnes dutiliser le mme ordinateur simultanment, soit parla connexion de plusieurs terminaux sur lordinateur (un terminal est un appareilregroupant un cran et un clavier, voire galement une souris pour les terminauxgraphiques), soit au moyen dune connexion via un rseau. Il aura fallu attendreWindows NT 4.0 Terminal Server en 1998 pour quil soit possible douvrir unesession distance (uniquement par dport de linterface graphique).

    Un autre argument en faveur dUNIX est quil en existe des versions gratuites (cequi est financirement intressant lorsquon dispose dun parc de 200 ordinateurs,comme lENSTA ParisTech). FreeBSD, Linux, NetBSD et OpenBSD sont dispo-

    nibles gratuitement. Mieux encore, leur code source est galement disponible, ce quipermet de le dcortiquer des fins pdagogiques.Il faut galement insister sur la scurit des systmes UNIX, bien plus volue que

    celle de Windows. Il nexiste en effet pas de virus pour UNIX, pas quon ne puisse enconcevoir mais leur porte serait extrmement limite en raison des contrles daccsimposs par UNIX.

    Bref, mme sil faut, avec un ralisme dsabus, reconnatre que de nombreusesentreprises ont une informatique 100 % Windows et que la majorit des ingnieursENSTA ParisTech devra sen contenter, les vertus dUNIX pour lenseignement

    justifient pleinement son choix. Par ailleurs, lexprience montre que quelquun

    matrisant UNIX na aucun mal utiliser Windows. Le contraire est faux...

    http://fr.wikipedia.org/wiki/Multitche

    http://fr.wikipedia.org/wiki/Multi-utilisateur

    1.3 Linformatique efficace

    Il faut peut-tre relativiser laffirmation premptoire clturant le paragraphe pr-cdent. Il existe pour UNIX des interfaces graphiques quivalentes, voire suprieures,

    18

    http://fr.wikipedia.org/wiki/Multit%E2%A3%A8ehttp://fr.wikipedia.org/wiki/Multi-utilisateurhttp://fr.wikipedia.org/wiki/Multi-utilisateurhttp://fr.wikipedia.org/wiki/Multit%E2%A3%A8e
  • 8/8/2019 Les bases d'informatique

    19/373

    1.3. Linformatique efficace

    celle de Windows permettant ses habitus de pouvoir utiliser un systme UNIXde la mme faon.

    Nanmoins, est-ce la faon la plus efficace dutiliser un systme informatique ?

    Dans le cas dune utilisation pisodique, cela ne fait pas de diffrence mais, pour uneutilisation plus soutenue, il existe des outils bien plus efficaces.En particulier, dans le cadre de ce cours, nous allons utiliser un interprteur de

    commandes.Un interprteur de commandes est un logiciel dans lequel on exprime par crit

    ce quon veut faire en tapant des commandes au clavier. La souris ne sert quasimentjamais et il ny a aucun lment graphique (pas dicnes). Les interprteurs de com-mandes sont utiliss en informatique depuis une cinquantaine dannes, bien avantlapparition des premires interfaces graphiques.

    On peut estimer quil sagit dun outil barbare et rtrograde, qui ncessite un ap-

    prentissage certain et qui na pas les qualits ergonomiques dune interface graphique.Cest en partie vrai. En revanche, linterprteur de commandes est particulirementefficace pour traiter un grand nombre de fichiers et enchaner les traitements lesuns aux autres, ce que les interfaces graphiques ne font pas ou alors difficilementet de manire limite. En effet, lautomatisation dun ensemble de commandes esttrs simple faire (en gros, on les rassemble dans un fichier et on soumet ce fichier linterprteur de commandes) alors que lautomatisation dun ensemble de clicsdans une interface graphique, sil est parfois possible, pose nanmoins des problmes(position des objets sur lcran, diffrences dune version dun logiciel un autre,voire dun ordinateur un autre, traitement des erreurs, etc.).

    19

  • 8/8/2019 Les bases d'informatique

    20/373

  • 8/8/2019 Les bases d'informatique

    21/373

    2

    Reprsentation et mesure de linformation

    DANS UN ORDINATEUR, linformation est reprsente sous forme numrique.

    Le microprocesseur ne sachant raliser que des oprations sur des nombreset des dplacements de donnes en mmoire, toute information traiter doit treexprime sous une forme numrique. En informatique, on ramne donc tout desnombres.

    Dans ce chapitre, nous allons tudier plusieurs systmes de reprsentation desnombres, en nous limitant aux entiers naturels. Seront en particulier abords lessystmes de reprsentation des nombres couramment utiliss en informatique. Noustudierons galement les units permettant de mesurer la quantit dinformation.

    2.1 Reprsentation des nombresLa reprsentation des nombres fait appel un ensemble de signes et des rgles

    permettant de les associer afin de transcrire chaque nombre en une suite de signes.Ces signes et ces rgles forment un systme de numration.

    Les premiers systmes de numration remontent plusieurs milliers dannes.Les Romains, par exemple, utilisaient le systme de numration que tout le monde

    connat. Sept lettres ayant chacune une valeur croissante et combines entre ellesavec un systme dcriture additif ou soustractif en fonction de la position des lettres,permettent dexprimer les entiers naturels non nuls allant jusqu quelques milliers.

    Il est difficile avec un tel systme de numration deffectuer des additions et dessoustractions, encore plus des multiplications (ne parlons pas des divisions).

    http://fr.wikipedia.org/wiki/Systme_de_numration

    http://fr.wikipedia.org/wiki/Numration_romaine

    2.1.1 Systme dcimal

    Nous utilisons un systme de numration beaucoup plus efficace que celui desRomains, bas sur la position des chiffres dans la reprsentation dun nombre. Comme

    21

    http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tionhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tionhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tionhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tionhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tionhttp://fr.wikipedia.org/wiki/Num%E9%B2%A1tion_romainehttp://fr.wikipedia.org/wiki/Num%E9%B2%A1tion_romainehttp://fr.wikipedia.org/wiki/Num%E9%B2%A1tion_romainehttp://fr.wikipedia.org/wiki/Num%E9%B2%A1tion_romainehttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_de_num%E9%B2%A1tion
  • 8/8/2019 Les bases d'informatique

    22/373

    Chapitre 2. Reprsentation et mesure de linformation

    il y a dix chiffres, on appelle cette numration le systme dcimal(quon abrge endcimaldans le langage courant).

    Ainsi, le nombre 1664 doit se comprendre comme :

    1664 = 1 103 + 6 102 + 6 101 + 4 100

    De manire gnrale, un nombre dcimal crit sous la forme cn . . . c2c1c0 (cn . . . c2,c1 et c0 tant les chiffres composant le nombre, de gauche droite) doit se comprendrecomme :

    n

    i=0

    ci 10i

    Un tel systme de numration permet deffectuer facilement les oprations arith-mtiques usuelles (addition, soustraction, multiplication et division).

    http://fr.wikipedia.org/wiki/Systme_dcimal

    2.1.2 Notation positionnelle et bases de numration

    Dans le systme dcimal, la position de chaque chiffre dans un nombre dterminedonc par quelle puissance de 10 il doit tre multipli. Cette faon de reprsenter les

    nombres est appele notation positionnelle.Lutilisation des puissances de 10 est un cas particulier, il est possible de gnraliser

    ce systme de numration en utilisant les puissances de nimporte quel entier suprieurou gal 2, quon appelle base de numration, et un ensemble de chiffres en nombregal la base. Ainsi, un nombre en base b crit sous la forme cn . . . c2c1c0 (cn . . . c2, c1et c0 tant les chiffres composant le nombre, de gauche droite) doit se comprendrecomme :

    n

    i=0

    ci bi

    http://fr.wikipedia.org/wiki/Notation_positionnelle

    http://fr.wikipedia.org/wiki/Base_(arithmtique)

    2.1.3 Systmes de numration utiliss en informatique

    Trois systmes de numration utilisant la notation positionnelle sont utiliss eninformatique.

    22

    http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_d%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_d%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_d%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Notation_positionnellehttp://fr.wikipedia.org/wiki/Notation_positionnellehttp://fr.wikipedia.org/wiki/Notation_positionnellehttp://fr.wikipedia.org/wiki/Base_(arithm%E9%B4%A9que)http://fr.wikipedia.org/wiki/Base_(arithm%E9%B4%A9que)http://fr.wikipedia.org/wiki/Base_(arithm%E9%B4%A9que)http://fr.wikipedia.org/wiki/Base_(arithm%E9%B4%A9que)http://fr.wikipedia.org/wiki/Notation_positionnellehttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_d%E9%A3%A9mal
  • 8/8/2019 Les bases d'informatique

    23/373

    2.1. Reprsentation des nombres

    2.1.3.1 Systme binaire

    Le systme binaire (quon abrge en binaire dans le langage courant) utilise la base

    2, qui est la plus petite des bases de numration. Les deux chiffres utiliss en binairesont le 0 et le 1, quon dsigne conjointement sous le nom bit(contraction de langlaisbinary digit). Par consquent, n bits permettent de reprsenter les nombres allant de0 2n 1.

    Pour simplifier lcriture des nombres cods sous forme binaire, on utilise dautresbases de numration qui sont des puissances de 2. Ainsi, un nombre binaire cod surn bits peut galement tre reprsent par un unique chiffre en base 2n . Les systmesde numration utiliss en informatique selon ce principe sont le systme octal (voir leparagraphe 2.1.3.2) et le systme hexadcimal (voir le paragraphe 2.1.3.3).

    Le binaire est bien adapt la reprsentation des nombres en lectronique (et

    donc en informatique) parce quil nutilise que deux chiffres, qui sont faciles traduireen phnomnes physiques (prsence ou absence de charge lectrique ou de lumire,tant passant ou non passant, etc.).

    En informatique, les bits sont gnralement regroups par huit pour former desoctets (voir le paragraphe 2.2.1 page suivante).

    http://fr.wikipedia.org/wiki/Systme_binaire

    http://fr.wikipedia.org/wiki/Bit

    2.1.3.2 Systme octal

    Le systme octal(quon abrge en octaldans le langage courant) utilise la base 8.Les huit chiffres utiliss en octal vont de 0 7 et ont la mme valeur quen dcimal.

    Un chiffre octal permet de reprsenter un nombre binaire cod sur trois bits(puisque 23 = 8).

    Loctal est utilis, entre autres, pour la reprsentation numrique des droits daccsaux fichiers sous UNIX (voir le paragraphe 8.5.2 page 122).

    http://fr.wikipedia.org/wiki/Systme_octal

    2.1.3.3 Systme hexadcimalLe systme hexadcimal (quon abrge en hexadcimal dans le langage courant)

    utilise la base 16. Les seize chiffres utiliss en hexadcimal vont de 0 9 (et ont lamme valeur quen dcimal) et de A F (quon peut galement crire en minuscules)pour les valeurs de 10 15. Ceci est rsum dans le tableau 2.1 page suivante.

    Un chiffre hexadcimal permet de reprsenter un nombre binaire cod sur quatrebits (puisque 24 = 16).

    En informatique, le systme hexadcimal est couramment utilis car il permet dereprsenter les octets sur deux chiffres (voir le paragraphe 2.2.2 page suivante).

    23

    http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_binairehttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_binairehttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_binairehttp://fr.wikipedia.org/wiki/Bithttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_octalhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_octalhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_octalhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_octalhttp://fr.wikipedia.org/wiki/Bithttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_binaire
  • 8/8/2019 Les bases d'informatique

    24/373

    Chapitre 2. Reprsentation et mesure de linformation

    hexadcimal 0 . . . 9 A B C D E Fdcimal 0 . . . 9 10 11 12 13 14 15

    TABLE 2.1 Chiffres utiliss en hexadcimal.

    http://fr.wikipedia.org/wiki/Systme_hexadcimal

    2.2 Units de mesure de linformation

    2.2.1 Loctet

    Un bit (voir le paragraphe 2.1.3.1 page prcdente) ne pouvant reprsenter que

    deux valeurs, il est rarement utilis comme unit de mesure de linformation, mmesil sagit de la quantit lmentaire dinformation utilise en informatique. On luiprfre un ensemble de huit bits, appel octet.

    Un octet contenant huit bits, il peut donc reprsenter les nombres allant de 0 28 1 = 255.

    http://fr.wikipedia.org/wiki/Octet

    2.2.2 Reprsentation dun octet en hexadcimal

    Lhexadcimal est bien adapt la reprsentation numrique des octets. En effet,chaque demi-octet contenant quatre bits, il peut tre reprsent par un chiffre en base24 = 16, cest--dire en hexadcimal. Un octet complet peut donc tre reprsent pardeux chiffres hexadcimaux, allant de 00 FF (255 en dcimal). Rciproquement,tout nombre pouvant tre reprsent sous la forme de deux chiffres hexadcimaux(cest--dire compris entre 00 et FF) est assur de pouvoir tre stock dans un octet.

    2.2.3 Units multiples de loctet

    Les units multiples de loctet sont traditionnellement dfinies au moyen de

    puissances de 2, contrairement lusage tabli par le systme international dunits(abrg par la suite en SI), qui utilise des puissances de 10.Ainsi, selon lusage habituel, 1 kilooctet ne contient pas 103 = 1000 octets mais

    210 = 1024 octets. De mme, 1 mgaoctet ne contient pas 106 = 1000000 octets mais220 = 1048576 octets et ainsi de suite.

    Afin dviter toute confusion, il serait prfrable dutiliser les prfixes multiplica-tifs indiqus dans la partie droite du tableau 2.2 page suivante. Ainsi, ce quon appellehabituellement kilooctet est en fait un kibioctet. En pratique, ces units sont rarementutilises et lon continue utiliser tort le kilooctet pour dsigner un kibioctet, lemgaoctet pour dsigner un mbioctet, etc.

    24

    http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_hexad%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_hexad%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_hexad%E9%A3%A9malhttp://fr.wikipedia.org/wiki/Octethttp://fr.wikipedia.org/wiki/Octethttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_hexad%E9%A3%A9mal
  • 8/8/2019 Les bases d'informatique

    25/373

    2.2. Units de mesure de linformation

    Prfixe SI Prfixe binaire

    Nom Symbole Valeur Nom Symbole Valeurkilooctet ko 103 kibioctet Kio 210

    mgaoctet Mo 106 mbioctet Mio 220gigaoctet Go 109 gibioctet Gio 230

    traoctet To 1012 tbioctet Tio 240

    ptaoctet Po 1015 pbioctet Pio 250

    exaoctet Eo 1018 exbioctet Eio 260

    zettaoctet Zo 1021 zbioctet Zio 270

    yottaoctet Yo 1024 yobioctet Yio 280

    TABLE 2.2 Units multiples de loctet.

    Les fabricants de disques durs lont dailleurs parfaitement compris. Ainsi, undisque dur vendu comme ayant une capacit 500Go, cest--dire 466Gio, sera reconnupar une grande partie des systmes dexploitation comme disposant dune capacitde 466Go (en utilisant la dfinition traditionnelle et incorrecte du gigaoctet). Bienque la mesure de la capacit du disque dur par le fabricant soit rigoureusement exacte,elle ne correspond malheureusement pas aux habitudes et de nombreux acheteurs sesentent lss en constatant que la capacit annonce par le systme dexploitation estsensiblement infrieure celle annonce par le fabricant du disque dur.

    http://fr.wikipedia.org/wiki/Octethttp://fr.wikipedia.org/wiki/Systme_international_dunits

    25

    http://fr.wikipedia.org/wiki/Octethttp://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Syst%E8%AD%A5_international_d'unit%E9%B3%80http://fr.wikipedia.org/wiki/Octet
  • 8/8/2019 Les bases d'informatique

    26/373

  • 8/8/2019 Les bases d'informatique

    27/373

    3

    Premier contact

    AVANT dentrer dans le vif du sujet, il convient de prendre rapidement contact

    avec les ordinateurs de lENSTA ParisTech et leur environnement. Le fonc-tionnement extrieur dun ordinateur utilisant le systme dexploitation UNIX esten effet trs semblable celui dautres systmes dexploitation mais certaines par-ticularits doivent tre signales. Nous en profiterons pour faire connaissance aveclinterprteur de commandes, qui sera tudi plus en dtail au chapitre 7 page 73, afinde changer le mot de passe provisoire fourni chaque nouvel utilisateur dun systmeinformatique, qui doit ltre rapidement afin dviter toute tentative dusurpationdidentit.

    3.1 La babasseDans le jargon des ingnieurs, le terme babasse dsigne un ordinateur 1.Les ordinateurs de lENSTA ParisTech sont en pratique des PC, identiques

    ceux quon peut trouver dans le commerce, cette diffrence prs que leur systmedexploitation est UNIX (plus prcisment, cest lune des distributions de Linux)et non pas Windows. Ils sont quips de claviers AZERTY, comme il est dusage enFrance.

    Lhabitude est pourtant dutiliser des claviers QWERTY sous UNIX car de nom-breux signes frquemment utiliss y sont directement accessible alors que leur saisie

    ncessite lutilisation de la touche Shift ou de la touche AltGr sur un clavierAZERTY. Par ailleurs, les symboles utiliss en programmation (parenthses, crochets,accolades, par exemple) sont regroups par paire et aisment accessible sur un clavierQWERTY, ce qui nest pas le cas sur un clavier AZERTY, o ces symboles sont par-pills faon puzzle. On pourrait objecter que les claviers QWERTY ne disposent pasdes touches permettant de saisir les lettres accentues utilises en franais (du moinsles claviers amricains parce que les Qubcois utilisent des claviers QWERTY adap-

    1. Jai cru comprendre qu Lyon, le mme terme dsignait un flipper et que Frdric Dard lutilisaitde faon particulirement potique...

    27

  • 8/8/2019 Les bases d'informatique

    28/373

    Chapitre 3. Premier contact

    ts notre langue) mais il existe plusieurs mthodes pour saisir des lettres accentuesavec un clavier QWERTY.

    Il est noter quil nexiste travers le monde que trois dispositions rpandues

    pour les claviers utilisant lalphabet latin. La disposition QWERTY, utilise dansquasiment tous les pays (avec des variantes en fonction des caractres propres chaquelangue), la disposition AZERTY, utilise en France et en Belgique, et la dispositionQWERTZ, utilise en Allemagne et dans plusieurs pays dEurope centrale.

    Les diffrences entre ces trois dispositions sont par ailleurs peu nombreuses,quelques lettres tant seulement places des endroits diffrents sur le clavier. Les dis-positions AZERTY et QWERTZ sont en effet drives de la disposition QWERTY,mise au point afin dviter des blocages mcaniques sur les premires machines crireet rpute ralentir la frappe, ce qui est un comble maintenant que les mmes clavierssont utiliss sur des ordinateurs. Il existe bien des dispositions, dites dispositions

    Dvorak, du nom de leur inventeur, permettant une frappe rapide mais elles sont peuutilises. Les dispositions Dvorak sont bases sur lanalyse frquentielle des caractres,qui varie en fonction de la langue et il existe donc une disposition pour chaque langue.

    Enfin, remarquez que lutilisation de la touche Caps Lock et dune lettre accentuegnre sous UNIX la majuscule accentue correspondante (ce qui est ncessaire lcriture dun franais correct, contrairement une croyance rpandue, voir dansla bibliographie le Lexique des rgles typographiques en usage lImprimerie nationale,page 12, et Orthotypographie, rubrique Accentuation 2). Sous Windows, cela est facilepour laccent circonflexe et le trma, qui sont obtenus grce une touche morte, maisla saisie des autres majuscules accentues ncessite une gymnastique particulirement

    dsagrable.

    http://fr.wikipedia.org/wiki/AZERTY

    http://en.wikipedia.org/wiki/QWERTY

    http://en.wikipedia.org/wiki/QWERTZ

    http://fr.wikipedia.org/wiki/Disposition_Dvorak

    http://en.wikipedia.org/wiki/Keyboard_layout

    http://www.artlebedev.com/everything/optimus/

    3.2 ConnexionAvant de pouvoir utiliser un ordinateur sous UNIX, il faut y disposer dun compte

    (accounten anglais). Ceci comprend : un identifiant(login en anglais); un mot de passe (passworden anglais); un espace de stockage pour vos fichiers, quon appelle rpertoire personnel(home

    directory en anglais).

    2. http://www.orthotypographie.fr/volume-I/academie-accentuation.html#Accentuation

    28

    http://fr.wikipedia.org/wiki/AZERTYhttp://en.wikipedia.org/wiki/QWERTYhttp://en.wikipedia.org/wiki/QWERTZhttp://fr.wikipedia.org/wiki/Disposition_Dvorakhttp://fr.wikipedia.org/wiki/Disposition_Dvorakhttp://fr.wikipedia.org/wiki/Disposition_Dvorakhttp://en.wikipedia.org/wiki/Keyboard_layouthttp://en.wikipedia.org/wiki/Keyboard_layouthttp://en.wikipedia.org/wiki/Keyboard_layouthttp://www.artlebedev.com/everything/optimus/http://www.orthotypographie.fr/volume-I/academie-accentuation.html#Accentuationhttp://www.orthotypographie.fr/volume-I/academie-accentuation.html#Accentuationhttp://www.artlebedev.com/everything/optimus/http://en.wikipedia.org/wiki/Keyboard_layouthttp://fr.wikipedia.org/wiki/Disposition_Dvorakhttp://en.wikipedia.org/wiki/QWERTZhttp://en.wikipedia.org/wiki/QWERTYhttp://fr.wikipedia.org/wiki/AZERTY
  • 8/8/2019 Les bases d'informatique

    29/373

    3.3. Linterprteur de commandes

    Ce compte est cr par le service informatique. Le mot de passe qui vous estfourni lors de votre premire connexion est provisoire et il convient den changerrapidement (voir le paragraphe 3.4) pour un mot de passe connu de vous seul.

    La connexion se fait en saisissant son identifiant et son mot de passe dans la fentrede connexion. Selon les environnements, le mot de passe napparat pas lcran oualors seulement sous forme de points ou dastrisques, pour des raisons videntes deconfidentialit. Attention, UNIX fait la diffrence entre majuscules et minusculesdans lidentifiant et le mot de passe.

    Une fois la connexion effectue, vous vous retrouvez dans votre session, dont ilfaudra obligatoirement vous dconnecter (voir le paragraphe 3.5 page 32) avant departir.

    Vous avez maintenant accs une interface graphique, dont le fonctionnementsera dtaill en petite classe.

    3.3 Linterprteur de commandes

    Mme sil sera tudi au chapitre 7 page 73, il est ncessaire de prsenter dsmaintenant les rudiments du fonctionnement de linterprteur de commandes.

    Celui-ci ouvre une fentre quasiment vide, lexception de sa premire ligne quicontient une invite (prompten anglais) suivie du curseur symbolisant lemplacementdu prochain caractre qui sera tap au clavier. Linvite est un repre visuel indiquantque linterprteur de commandes attend que lutilisateur lui ordonne quoi faire. Lasignification du contenu de linvite sera dtaille au paragraphe 7.2.2 page 77. Poursimplifier les choses, nous utiliserons simplement par la suite $ comme invite.

    Lorsquon tape la commande date (ce que lutilisateur tape au clavier est figuren gras dans les exemples), suivie de la touche Enter , linterprteur de commandesaffiche la ligne suivante la date et lheure puis une nouvelle invite, indiquant quilattend nouveau que lutilisateur lui demande quelque chose :

    $ date Enter

    Thu Jun 25 15:16:19 CEST 2009

    $

    Ceci nous suffira pour le moment. Rendez-vous au chapitre 7 page 73 pour denouvelles aventures.

    3.4 Changement du mot de passe

    Avant toute chose, il faut choisir un nouveau mot de passe. Lobjectif du mot depasse est de protger laccs votre compte, il est donc essentiel que ce mot de passene puisse pas tre facilement devin par autrui. Il existe galement des logiciels qui

    29

  • 8/8/2019 Les bases d'informatique

    30/373

    Chapitre 3. Premier contact

    essaient diverses combinaisons partir de mots du dictionnaire, ce qui rend le choixdu mot de passe difficile.

    Certains systmes informatiques imposent une longueur minimale, la prsence

    dau moins quelques lettres (attention, on fait la diffrence entre majuscules et minus-cules), chiffres ou signes de ponctuation.

    En particulier, lENSTA ParisTech, le mot de passe doit respecter lescontraintes suivantes :

    comprendre entre 7 et 20 caractres ; comporter au moins 4 caractres diffrents ; contenir au moins une lettre minuscule ; contenir au moins un chiffre.

    En revanche, il faut viter les lettres accentues, car elles peuvent tre codesdiffremment dun systme un autre (voir le paragraphe 4.3 page 39).Comment donc choisir un bon mot de passe ?Un bon mot de passe est un mot de passe suffisamment compliqu pour quil ne

    puisse pas tre devin mais avec un truc qui permette de sen souvenir. En effet, si lonoublie son mot de passe, il ny a aucun moyen technique simple pour le retrouver, ilfaut demander au service informatique de le rinitialiser. Pour viter cela, il ne fautsurtout pas noter son mot de passe quelque part (le grand classique est le pense-btecoll sur lcran ou sous le clavier), il faut sen souvenir, cest tout.

    Quels trucs peut-on donc utiliser pour se souvenir de son mot de passe? Chacun

    a les siens mais voici quelques exemples : une formule mathmatique, physique ou chimique, par exemple eipi+1=0

    (ei+ 1 = 0, identit dEuler) ou CnH2n+2 (CnH2n+2, formule des alcanes noncycliques) ;

    les initiales de chaque mot dune citation, dun proverbe ou dun vers, parexemple Qjaafa1nuas! (Que jaime faire apprendre un nombre utile aux sages !) ;

    une phrase en criture phontique ou approximative, par exemple Jai2loq (quela dcence minterdit dexpliquer).

    Par ailleurs, plus un mot de passe est ancien, plus il a de chances dtre dcouvert. Ilconvient donc den changer rgulirement. Certains centres informatiques imposent leurs utilisateurs de changer leur mot de passe intervalle rgulier.

    Ce nest pas le cas lENSTA ParisTech mais ce nest pas une raison pour passertoute votre scolarit avec le mme mot de passe.

    Enfin, vitez de changer votre mot de passe le soir, en fin de semaine ou avant departir en vacances. Le fait de ne pas lutiliser tout de suite est propice son oubli.

    Il est maintenant possible de changer votre mot de passe. Pour cela, utilisez lacommande passwd (pour password) :

    30

  • 8/8/2019 Les bases d'informatique

    31/373

    3.4. Changement du mot de passe

    $ passwd Enter

    Changing password for user sii.

    Enter login(LDAP) password: mot de passe actuel EnterNew UNIX password: nouveau mot de passe Enter

    Retype new UNIX password: nouveau mot de passe Enter

    LDAP password information changed for sii

    passwd: all authentication tokens updated successfully.

    $

    Il vous est demand de saisir (chaque saisie est valider au moyen de la toucheEnter ) :

    1. votre mot de passe actuel ;2. votre nouveau mot de passe (une premire fois) ;3. votre nouveau mot de passe (une seconde fois).Aucun des trois mots de passe napparat lcran, ni de manire directement

    lisible, ni en affichant quelque chose (un gros point ou un astrisque) la place dechaque caractre. Ceci est parfaitement normal et a pour but de ne fournir aucuneinformation concernant les mots de passe, pas mme leur longueur, un observateurindiscret.

    Notez galement que le nouveau mot de passe est saisir deux fois lidentiquepour se prmunir dune possible erreur dinattention lors de sa saisie ou de lappui

    inopin sur une mauvaise touche.Si la commande passwd naffiche pas de message derreur et revient linvite, votre

    mot de passe a t correctement chang. Dans le cas contraire, le message derreurindique la nature du problme, par exemple :

    $ passwd Enter

    Changing password for user sii.

    Enter login(LDAP) password: mot de passe erron Enter

    LDAP Password incorrect: try again

    Enter login(LDAP) password:

    ou bien :

    $ passwd Enter

    Changing password for user sii.

    Enter login(LDAP) password: mot de passe actuel Enter

    New UNIX password: nouveau mot de passe Enter

    BAD PASSWORD: it is too short

    New UNIX password:

    31

  • 8/8/2019 Les bases d'informatique

    32/373

    Chapitre 3. Premier contact

    ou bien encore :

    $ passwd Enter

    Changing password for user sii.Enter login(LDAP) password: mot de passe actuel Enter

    New UNIX password: nouveau mot de passe Enter

    Retype new UNIX password: mot de passe diffrent Enter

    Sorry, passwords do not match.

    New UNIX password:

    3.5 Dconnexion

    Une fois votre travail sur lordinateur termin, noubliez pas de fermer votresession (la faon exacte de procder sera vue en petite classe) sinon gare aux JBM...

    Nteignez lordinateur en aucun cas. Non seulement, cela ncessite dutiliserune procdure non accessible aux utilisateurs mais lordinateur peut tre utilis parquelquun dautre via le rseau (voir ci-aprs).

    3.6 Lenvironnement informatique de lENSTA ParisTech

    Tous les ordinateurs de lENSTA ParisTech sont relis entre eux par un rseau

    local, lui-mme reli lInternet.Les ordinateurs des salles de cours sont banaliss, cest--dire que vous pouvezles utiliser indiffremment au moyen du mme identifiant et du mme mot de passe.Vous retrouverez alors vos fichiers et votre environnement de travail. Ceci est possibleen raison de lutilisation dun systme dauthentification centralis (qui fait que tousles ordinateurs peuvent reconnatre identifiant et mot de passe) et de serveurs defichiers (qui font que vos fichiers ne sont pas stocks sur les ordinateurs des salles decours mais sur ces serveurs, eux-mmes accds par ces ordinateurs).

    En revanche, les ordinateurs des salles de cours ne sont pas tous semblables,certains sont plus anciens (donc moins puissants) que dautres. Nanmoins, il est

    possible de se connecter via le rseau dun ordinateur un autre (pour exploiter lescapacits dun ordinateur plus puissant mais situ dans une salle de cours loigne, parexemple), de lancer des logiciels sur lordinateur distant et de les faire safficher surlcran du sien. Cest en particulier pour cela quil ne faut pas teindre un ordinateur,quelquun dautre peut lutiliser distance.

    Sur un rseau informatique, chaque ordinateur est repr au moyen dun nom,choisi arbitrairement. Celui-ci figure dans la fentre de connexion. lENSTAParisTech, pour faire simple, les noms des ordinateurs sont construits partir dunom de la salle, suivi dun numro partir de 1, croissant selon la disposition desordinateurs dans la salle.

    32

  • 8/8/2019 Les bases d'informatique

    33/373

    3.6. Lenvironnement informatique de lENSTA ParisTech

    Par ailleurs, de nombreuses informations concernant lenvironnement informa-tique de lENSTA ParisTech sont accessibles, aprs identification et authentificationavec les mmes identifiant et mot de passe que pour utiliser son compte, sur le site du

    service informatique dition :https://sie.ensta.fr/

    33

    https://sie.ensta.fr/https://sie.ensta.fr/
  • 8/8/2019 Les bases d'informatique

    34/373

  • 8/8/2019 Les bases d'informatique

    35/373

    Deuxime partie

    Du texte et des diteurs de texte

  • 8/8/2019 Les bases d'informatique

    36/373

  • 8/8/2019 Les bases d'informatique

    37/373

    4

    Le texte et son codage

    SOU S UNIX, on aime bien manipuler des fichiers contenant du texte et on ramne

    beaucoup de choses cela. Par exemple, l o sous Windows, beaucoup delogiciels se configurent exclusivement au moyen de formulaires contenant des boutons cliquer et des cases remplir, stockant le rsultat on ne sait o ni de quelle faon,sous UNIX, on prfre utiliser un fichier contenant ces informations sous forme detexte (quitte avoir des formulaires graphiques permettant de gnrer ce fichier pourles utilisateurs novices).

    Lavantage des fichiers texte est quils sont facilement comprhensibles et quilest possible au besoin de gnrer ou de modifier de tels fichiers par des procduresautomatiques, ce qui est impossible faire si la seule faon de grer ces informationsest dutiliser une interface graphique.

    4.1 Le texte, cest quoi ?

    Avant de poursuivre, il faut dfinir un certain nombre de choses et comprendrece quon entend par texte .

    Tout dabord, un fichier texte est, tout simplement, un fichier qui contient dutexte.

    Mais alors, un fichier Word, qui contiendrait par exemple un document toutsimple, sans images, est-il un fichier texte ? Vous pouvez faire lexprience, ouvrez

    Word, tapez coucou suivi dun retour la ligne, sauvez le document et regardezla taille du fichier. Faute 1 de disposer de Word, OpenOffice fait galement laffaire, condition de sauvegarder le fichier au format Word 97/2000/XP, ce qui produitun fichier dun peu plus de 9ko. Nous reviendrons dessus mais, gnralement, uncaractre est cod sur un octet et, coucou faisant six caractres, notre fichier devraitdonc avoir une taille avoisinant les sept octets (en comptant le retour la ligne), entout cas de cet ordre de grandeur. Si la taille du fichier est de 9ko, cest quil contientbien plus que son contenu visible. En pratique, cest le cas, un fichier Word contient

    1. Mais est-ce vraiment une faute ?

    37

  • 8/8/2019 Les bases d'informatique

    38/373

    Chapitre 4. Le texte et son codage

    galement des informations sur lauteur dun document, ses versions successives, lesinformations de prsentation (gras, italique, savoir si un paragraphe est justifi, etc.).

    Un fichier Word nest donc pas un fichier texte, bien quil en contienne un peu.

    On peut alors affiner notre dfinition en disant quun fichier texte est un fichier quine contient que du texte.Cest un peu mieux. Il nous reste encore dfinir ce quest un fichier et ce quest

    du texte.

    4.2 Quest-ce quun fichier ?

    Pour quasiment tous les systmes dexploitation, dont UNIX, un fichier estsimplement une suite doctets (voir le paragraphe 2.2.1 page 24) donc de nombres

    entre 0 et 255. La signification qui est faite de ces nombres dpend du format dufichier. Considrons le fichier indiqu en figure 4.1 (les espaces et retours la ligne nesont l que pour en faciliter la lecture).

    10 10

    76 70 74 84 77 32 48 97 64 76

    76 76 70 74 84 77 32 48 97 64

    64 76 76 70 74 84 77 32 48 97

    97 64 76 76 70 74 84 77 32 48

    48 97 64 76 76 70 74 84 77 32

    32 48 97 64 76 76 70 74 84 77

    77 32 48 97 64 76 76 70 74 84

    84 77 32 48 97 64 76 76 70 74

    74 84 77 32 48 97 64 76 76 70

    70 74 84 77 32 48 97 64 76 76

    FIGURE 4.1 Exemple de fichier.

    Sans informations supplmentaires sur sa nature, ce fichier pourrait contenirnimporte quoi : la temprature de mon four mesure toutes les minutes, la vitesse du

    vent pendant une tempte...Maintenant, disons que ce fichier contient une image en niveaux de gris. Les deuxpremiers octets indiquent sa largeur et sa hauteur (ce qui limite de fait la taille desimages 256 pixels par 256 mais ce nest pas bien grave) et les octets suivants indiquentle niveau de gris du pixel en question : 0 pour noir, 255 pour blanc, en passant partous les gris intermdiaires.

    Cet ensemble dinformations, permettant de savoir comment interprter les octetsdun fichier, cest ce quon appelle son format.

    On peut poursuivre en imaginant un format pour des images en couleurs, indiquen figure 4.2 page suivante.

    38

  • 8/8/2019 Les bases d'informatique

    39/373

    4.3. Codage du texte

    10 10

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    --- --- --- --- --- --- --- --- --- ---

    FIGURE 4.2 Exemple de fichier contenant une image en couleurs.

    Il sagit toujours dune image de 10 pixels par 10, chaque bloc de trois octets (ici,chaque tiret figure un octet) reprsente un pixel et, dans chaque bloc, le premier octetle niveau de rouge (entre 0 et 255), le deuxime le niveau de vert et le troisime leniveau de bleu (en synthse additive des couleurs).

    4.3 Codage du texte

    De la mme faon, on peut vouloir reprsenter du texte sous forme dune suite

    de nombres et stocker tout ceci dans un fichier. Il sagira donc dun fichier au formattexte (ou fichier texte, on y arrive). chaque caractre, on associe un nombre, cest ce quon appelle le codage du

    texte, et laffaire est rgle. Sauf que les choses ne sont pas si simples, on va le voir.

    4.3.1 Le codage ASCII

    Le codage ASCII (American Standard Code for Information Interchange), histo-riquement lun des premiers codages du texte, puisquil date de 1967, est encorelargement utilis aujourdhui.

    Comme indiqu dans le tableau 4.1 page suivante, les nombres de 0 31 servent coder des caractres dits de contrle (retour la ligne, saut de page, etc.). 32 codelespace, suivie par des signes de ponctuation, les chiffres, encore de la ponctuation,les majuscules dans lordre alphabtique, quelques symboles, les minuscules danslordre alphabtique et quelques derniers symboles.

    Tout ceci occupe en pratique les nombres de 0 127 et tient donc en 7 bits.(127 = 27 1). En ASCII, le huitime bit est toujours inutilis.

    Le codage ASCII prsente un problme majeur. Il ne permet de coder que leslettres non accentues de lalphabet latin et est donc insuffisant pour quasiment toutesles langues autres que langlais.

    39

  • 8/8/2019 Les bases d'informatique

    40/373

    Chapitre 4. Le texte et son codage

    0

    nul

    1

    soh

    2

    stx

    3

    etx

    4

    eot

    5

    enq

    6

    ac

    k

    7

    bel

    8

    bs

    9

    ht

    10

    nl

    11

    vt

    12

    np

    13

    cr

    14

    s

    o

    15

    si

    16

    dle

    17

    dc1

    18

    dc2

    19

    dc3

    20

    dc4

    21

    nak

    22

    sy

    n

    23

    etb

    24

    can

    25

    em

    26

    sub

    27

    esc

    28

    fs

    29

    gs

    30

    r

    s

    31

    us

    32

    sp

    33

    !

    34

    "

    35

    #

    36

    $

    37

    %

    38

    &

    39

    40

    (

    41

    )

    42

    *

    43

    +

    44

    ,

    45

    -

    46

    .

    47

    /

    48

    0

    49

    1

    50

    2

    51

    3

    52

    4

    53

    5

    54

    6

    55

    7

    56

    8

    57

    9

    58

    :

    59

    ;

    60

    63

    ?

    64

    @

    65

    A

    66

    B

    67

    C

    68

    D

    69

    E

    70

    F

    71

    G

    72

    H

    73

    I

    74

    J

    75

    K

    76

    L

    77

    M

    78

    N

    79

    O

    80

    P

    81

    Q

    82

    R

    83

    S

    84

    T

    85

    U

    86

    V

    87

    W

    88

    X

    89

    Y

    90

    Z

    91

    [

    92

    \

    93

    ]

    94

    ^

    95

    _

    96

    97

    a

    98

    b

    99

    c

    100

    d

    101

    e

    102

    f

    103

    g

    104

    h

    105

    i

    106

    j

    107

    k

    108

    l

    109

    m

    110

    n

    111

    o

    112

    p

    113

    q

    114

    r

    115

    s

    116

    t

    117

    u

    118

    v

    119

    w

    120

    x

    121

    y

    122

    z

    123

    {

    124

    |

    125

    }

    126

    ~

    127

    del

    TABLE

    4.1Lecoda

    geASCII.

    40

  • 8/8/2019 Les bases d'informatique

    41/373

    4.3. Codage du texte

    http://en.wikipedia.org/wiki/ASCII

    4.3.2 Les codages ISO 8859Or lASCII nutilise que la moiti des nombres quon peut reprsenter avec un

    octet. Lenvie a donc t forte dtendre lASCII pour coder dautres caractres danscette plage libre allant de 128 255.

    Cest lobjet dun ensemble de normes internationales, les normes ISO 8859(dveloppes de 1987 2004), qui sont dcrites dans le tableau 4.2.

    ISO 8859-1 langues de lEurope de louestISO 8859-2 langues de lEurope du centre et de lestISO 8859-3 langues de lEurope du sudISO 8859-4 langues de lEurope du nordISO 8859-5 langues utilisant lalphabet cyrilliqueISO 8859-6 arabeISO 8859-7 grecISO 8859-8 hbreu. . .ISO 8859-15 quasiment identique ISO 8859-1

    TABLE 4.2 Les codages ISO 8859.

    Sans rentrer dans les dtails, la partie basse (de 0 127) de chaque norme ISO 8859est en fait exactement lASCII et la partie haute (de 128 255) code pour les lettresaccentues de chaque ensemble de langues (ISO 8859-1 pour le franais, litalien, etc.,ISO 8859-2 pour le hongrois, le polonais, etc.) ou les alphabets des langues non latines(ISO 8859-5 ISO 8859-8).

    Cest un progrs indniable par rapport lASCII mais il reste deux problmes : on ne peut pas facilement mlanger plusieurs codages dans un mme fichier

    texte ou alors il faut indiquer quelque part quel codage est utilis et les ventuels

    changements en cours de fichier mais, dans ce cas, ce nest plus un fichier textepuisquil comporte des indications en plus du texte ;

    les 128 codes supplmentaires ne suffisent pas pour coder les caractres deslangues asiatiques (chinois, japonais et coren, par exemple).

    Concernant ce dernier point, il faut savoir quil existe par ailleurs de nombreuxcodages, sur 16 bits compte tenu du nombre de symboles coder, pour les languesasiatiques.

    http://en.wikipedia.org/wiki/ISO/IEC_8859

    41

    http://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/ISO/IEC_8859http://en.wikipedia.org/wiki/ISO/IEC_8859http://en.wikipedia.org/wiki/ISO/IEC_8859http://en.wikipedia.org/wiki/ISO/IEC_8859http://en.wikipedia.org/wiki/ASCII
  • 8/8/2019 Les bases d'informatique

    42/373

    Chapitre 4. Le texte et son codage

    4.3.3 Unicode et le codage UTF-8

    Avec le dveloppement de linformatique et des tlcommunications, le besoin

    se fit rapidement sentir de disposer dun systme de codage universel des caractres,permettant de coder de manire homogne lensemble des caractres, glyphes etsymboles des langues de la plante.

    Ceci aboutit en 1991 la norme internationale ISO 10646, plus connue sousson petit nom : Unicode. Cette norme dfinit un systme de codage universel descaractres, Universal Character Set(UCS).

    Il semblait vident que continuer utiliser des nombres sur 8 bits ne suffirait pasdonc les premires versions dUnicode utilisaient des valeurs sur 16 bits et les suivantessont rapidement passes 32 bits. 232 est de lordre de 4109 donc cela devrait laissersuffisamment de marge afin de coder une bonne fois pour toutes lensemble des

    systmes dcriture de la plante2

    .Comme pour les codages ISO 8859, afin de faciliter la reprise de lexistant, lescodes de 0 127 dUnicode correspondent aux caractres ASCII quivalents, ladiffrence quils sont cods sur quatre octets et non plus sur un seul.

    Unicode est une excellente ide sur le papier mais, en pratique, le codage descaractres sur 32 bits est tout sauf optimal. Prenons un exemple.

    La chane de caractres coucou est code en ASCII par les nombres : 99 111117 99 111 117, sur six octets, comme on peut le voir dans le tableau 4.3 (o chaquecase correspond un octet).

    c o u c o u99 111 117 99 111 117

    TABLE 4.3 Codage de la chane de caractres coucou en ASCII.

    En Unicode, la chane de caractres coucou est code par les mmes nombresmais, chacun occupant quatre octets, le total ncessite 6 4 = 24 octets, comme onpeut le voir dans le tableau 4.4.

    c o u0 0 0 99 0 0 0 111 0 0 0 117

    c o u0 0 0 99 0 0 0 111 0 0 0 117

    TABLE 4.4 Codage de la chane de caractres coucou en Unicode.

    2. Et mme plus. Certaines plages dUnicode sont rserves pour des utilisations exotiques . Ainsi letengwar de Tolkien et le klingon de Star Trek disposent de plages rserves permettant de les coder...

    42

  • 8/8/2019 Les bases d'informatique

    43/373

    4.3. Codage du texte

    Ceci fait quun fichier texte cod initialement en ASCII verrait sa taille quadruplesi on le codait en Unicode et ce pour rajouter trois octets nuls entre chaque octetsignificatif. Ce nest pas acceptable.

    En ralit, aucun fichier nest cod directement en Unicode sur 32 bits par carac-tre parce que, malgr ses vertus, Unicode en lui-mme est loin doffrir un stockageoptimal. Cest pourquoi des mthodes de codages plus conomes mais plus complexessont utilises.

    La plus rpandue est UCS Transformation Format - 8 bits (quon abrge en UTF-8). Invente en 1992 par Ken Thompson, lun des crateurs dUNIX, UTF-8 peutparatre droutant par rapport aux codages prcdents. En effet, les caractres nysont pas cods sur une longueur fixe mais sur un, deux, trois ou quatre octets. Lescaractres ASCII conservent les mmes codes et sont stocks dans un octet (qui adonc son huitime bit zro). Tout fichier ASCII est donc un fichier UTF-8. Les

    autres caractres sont stocks dans deux, trois ou quatre octets, dont le premier a sonhuitime bit un et dont la valeur indique le nombre doctets qui le suivent.Sans rentrer dans les dtails, donnons juste un exemple permettant dillustrer le

    codage en UTF-8. Le tableau 4.5 illustre comment la chane de caractres pt estcode en ISO 8859-1, un octet par caractre.

    p t 112 226 116 233

    TABLE 4.5 Codage de la chane de caractres pt en ISO 8859-1.

    Le tableau 4.6 illustre comment la mme chane de caractres est code en UTF-8.Les deux caractres accentus sont cods chacun sur deux octets, dont le premiera une valeur strictement suprieure 127, alors que les deux autres caractres sontcods sur un seul octet, dont la valeur est infrieure ou gale 127, puisquil sagit decaractres ASCII.

    p t 112 195 162 116 195 169

    TABLE 4.6 Codage de la chane de caractres pt en UTF-8.

    On le voit bien dans cet exemple, un texte rdig en franais et cod en UTF-8donne donc un fichier plus volumineux que sil tait cod en ISO 8859-1, puisquechaque caractre accentu est cod sur deux octets en UTF-8 contre un seul en ISO8859-1.

    Cest dailleurs le cas gnral pour toutes les langues utilisant des caractres endehors de lASCII, leur codage en UTF-8 produit des fichiers un peu plus volumineuxquavec dautres codages plus limits (ISO 8859 ou codages sur 16 bits pour les langues

    43

  • 8/8/2019 Les bases d'informatique

    44/373

    Chapitre 4. Le texte et son codage

    asiatiques). En contrepartie, avec UTF-8, il est possible dutiliser tous les caractrespossibles et imaginables dans le mme fichier, ce qui est plus quapprciable.

    Tous les logiciels modernes grent parfaitement lUTF-8 et cest sans conteste le

    codage utiliser dornavant.http://www.unicode.org/

    http://en.wikipedia.org/wiki/UTF-8

    4.4 Codage des fichiers

    Lorsquon dispose dun fichier texte, comment dterminer son codage ?Lidal est quil soit indiqu directement dedans. Cest le cas par exemple des

    fichiers XML, dont la premire ligne indique quel codage est utilis pour le fichier :

    [...]

    Le codage peut galement tre indiqu lextrieur du document. Cest le caspour les messages lectroniques, dont le codage est indiqu dans len-tte :

    [...]

    MIME-Version: 1.0

    Content-Type: text/plain; charset=utf-8

    Content-Disposition: inline

    Content-Transfer-Encoding: 8bit

    [...]

    [ corps du message ]

    4.5 Conversion dun codage vers un autre

    4.5.1 La commande iconv

    Il peut tre utile de convertir du texte dun codage vers un autre. Imaginez parexemple que avez un fichier cod en ISO 8859-1 que vous voulez convertir en UTF-8.Il existe pour cela sous UNIX un petit utilitaire appel iconv et qui sutilise commececi :

    $ iconv -f iso8859-1 -t utf-8 -o tata toto

    44

    http://www.unicode.org/http://en.wikipedia.org/wiki/UTF-8http://en.wikipedia.org/wiki/UTF-8http://www.unicode.org/
  • 8/8/2019 Les bases d'informatique

    45/373

    4.6. Les diteurs de texte

    Nous naborderons lutilisation de linterprteur de commandes quau chapitre 7page 73 mais la squence ci-dessus est assez simple comprendre. Elle appelle lacommande iconv en lui demandant de convertir le fichier toto (indiqu en fin de

    ligne), dont le codage dorigine (option -f pour from) est ISO 8859-1 vers le codagede destination (option -t pour to) UTF-8 et de stocker le rsultat (option -o pouroutput) dans le fichier tata.

    http://en.wikipedia.org/wiki/Iconv

    4.5.2 Dans un logiciel

    On peut galement tre amen effectuer des conversions directement au seindun logiciel. Il est en effet possible davoir manipuler des fragments de texteprovenant dorigines diverses et cods de faons diffrentes. Ces fragments sonthabituellement convertis le plus tt possible vers un codage plus universel, UTF-8tant en loccurrence un bon candidat.

    Le listage 4.1 montre un exemple de conversion de codage de caractres dans lelangage de programmation Perl.

    use Encode ;

    [...]

    # conversion en UTF-8

    $nom = Encode::encode ( utf8 , $nom ) ;

    $prenom = Encode::encode ( utf8 , $prenom ) ;

    LISTAGE 4.1 Conversion de codage de caractres en Perl.

    4.6 Les diteurs de texte

    Un diteur de texte est un logiciel permettant de saisir et de modifier des fichierstexte. ne pas confondre avec un logiciel de traitement de texte, qui, comme indiquau paragraphe 4.1 page 37, ne travaille pas sur des fichiers texte.

    En raison de lomniprsence des fichiers texte sous UNIX, il y existe de trsnombreux diteurs de texte. Nous tudierons par la suite les deux plus rpandus, etdont beaucoup dautres ont repris les caractristiques : Emacs et vi (prononcer langlaise : vie ail ).

    Il existe aussi des diteurs de texte sur dautres systmes dexploitation quUNIX.Cest le cas pour Windows, qui est fourni avec lditeur de texte Notepad, ainsi quepour Mac OS X, qui est fourni avec lditeur de texte TextEdit.

    45

    http://en.wikipedia.org/wiki/Iconvhttp://en.wikipedia.org/wiki/Iconv
  • 8/8/2019 Les bases d'informatique

    46/373

    Chapitre 4. Le texte et son codage

    http://fr.wikipedia.org/wiki/diteur_de_texte

    http://fr.wikipedia.org/wiki/Guerre_dditeurs

    http://en.wikipedia.org/wiki/Comparison_of_text_editors

    http://en.wikipedia.org/wiki/Notepad_(Windows)http://en.wikipedia.org/wiki/TextEdit

    46

    http://fr.wikipedia.org/wiki/%C9%A4iteur_de_textehttp://fr.wikipedia.org/wiki/%C9%A4iteur_de_textehttp://fr.wikipedia.org/wiki/%C9%A4iteur_de_textehttp://fr.wikipedia.org/wiki/%C9%A4iteur_de_textehttp://fr.wikipedia.org/wiki/%C9%A4iteur_de_textehttp://fr.wikipedia.org/wiki/Guerre_d'%E9%A4%A9teurshttp://fr.wikipedia.org/wiki/Guerre_d'%E9%A4%A9teurshttp://fr.wikipedia.org/wiki/Guerre_d'%E9%A4%A9teurshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://en.wikipedia.org/wiki/Notepad_(Windows)http://en.wikipedia.org/wiki/Notepad_(Windows)http://en.wikipedia.org/wiki/Notepad_(Windows)http://en.wikipedia.org/wiki/TextEdithttp://en.wikipedia.org/wiki/TextEdithttp://en.wikipedia.org/wiki/Notepad_(Windows)http://en.wikipedia.org/wiki/Comparison_of_text_editorshttp://fr.wikipedia.org/wiki/Guerre_d'%E9%A4%A9teurshttp://fr.wikipedia.org/wiki/%C9%A4iteur_de_texte
  • 8/8/2019 Les bases d'informatique

    47/373

    5

    Lditeur de texte Emacs

    EMACS est probablement lditeur de texte le plus rpandu sous UNIX. Simple

    demploi et nanmoins trs puissant, il convient aux dbutants comme auxutilisateurs expriments. Emacs dpasse mme la simple fonction dditeur de textepuisquun langage dextension (que nous naborderons pas ici) permet de lui fairefaire peu prs nimporte quoi.

    http://www.gnu.org/software/emacs/

    5.1 Lancement dEmacs

    Emacs se lance depuis un interprteur de commandes au moyen de la commande

    emacs suivie du nom du fichier diter (les fichiers texte ont traditionnellement uneextension .txt) :

    $ emacs toto.txt Enter

    Si le fichier toto.txt existe, son contenu est affich et peut tre modifi. Silnexiste pas, Emacs affiche un contenu vierge et le fichier sera cr lors de sa premiresauvegarde.

    En ce qui nous concerne, le fichier toto.txt nexiste pas donc Emacs ouvre une

    nouvelle fentre semblable celle de la figure 5.1 page suivante.Vous remarquez, en haut de la fentre, des menus et une range dicnes. Nousnutiliserons quasiment pas ces outils. Pourquoi ? Emacs est un diteur de texte. Lepriphrique dentre privilgi pour saisir du texte est, bien videmment, le clavier.Lorsquon utilise un diteur de texte, les deux mains sont donc principalement situessur le clavier. Dplacer une main pour agiter la souris puis la ramener vers le clavierreprsente donc une perte de temps.

    Cest pourquoi nous allons apprendre utiliser Emacs quasi exclusivement aumoyen du clavier. Certaines rares manipulations sont plus efficacement faites avec lasouris et ce seront les seules occasions o celle-ci sera utilise.

    47

    http://www.gnu.org/software/emacs/http://www.gnu.org/software/emacs/
  • 8/8/2019 Les bases d'informatique

    48/373

    Chapitre 5. Lditeur de texte Emacs

    FIGURE 5.1 Emacs.

    Vous remarquez galement deux lignes au bas de la fentre. La dernire, tout enbas, est appele minibuffer (cest le terme consacr et il na pas dquivalent tabli enfranais). Le minibuffer sert Emacs pour communiquer avec lutilisateur, soit pourlui afficher des informations soit pour lui poser des questions.

    La ligne du dessus est appele ligne de mode (mode line en anglais). Elle affichediverses informations qui sont mises jour automatiquement si ncessaire.

    Enfin, la partie principale de la fentre est vide. Si le fichier toto.txt avait exist,son contenu y aurait t affich.

    Revenons la ligne de mode. Elle contient : des indicateurs, ici -U:--- :

    le U indique que le fichier est (ou sera sil nexiste pas encore) cod en UTF-8(ce serait un 1 pour de lISO 8859-1),

    les deux tirets suivant le deux-points se transforment en astrisques ** lorsquele contenu du fichier a t modifi mais pas encore sauvegard sur disque, ilsagit dun repre visuel permettant de savoir si le fichier a t sauvegard ou

    48

  • 8/8/2019 Les bases d'informatique

    49/373

    5.2. Saisie du texte

    pas; le nom du fichier, ici toto.txt ; la position dans le fichier, qui peut tre :

    All lorsque lensemble du fichier est visible dans la fentre, Top lorsque le fichier est trop long pour tre entirement visible dans lafentre et quon en voit le haut,

    Bot lorsque le fichier est trop long pour tre entirement visible dans lafentre et quon en voit le bas,

    un pourcentage indiquant o lon se trouve dans le fichier si lon est quelquepart lintrieur ;

    le numro de la ligne sur laquelle se trouve le curseur ; le mode ddition du fichier entre parenthses, cest de l que la ligne de mode

    tire son nom.

    Emacs est en effet capable de reconnatre sur quel type de fichier texte on travaille(texte simple, programme, etc.) et dadapter son comportement en fonction. Le modeentre parenthses indique ce type. Ici, Emacs a reconnu son extension que le fichiertoto.txt est un fichier texte simple et sest donc mis en mode Text.

    5.2 Saisie du texte

    Dans Emacs, la saisie du texte se fait de manire habituelle. La touche effacele caractre prcdant le curseur, Enter permet de passer la ligne et les touchesflches de se dplacer.

    Afin dexprimenter les fonctionnalits dEmacs, nous aurons besoin dun peu detexte. Tapez ce qui vous passe par la tte, au moins trois paragraphes (un paragrapheest spar du suivant par une ligne blanche) contenant chacun trois lignes de texte,avant daller plus loin.

    Si lune des lignes est trop longue pour tenir dans la fentre, elle se continue sur laligne suivante, comme on peut voir dans la figure 5.2 page suivante. Il ne sagit pasde deux lignes mais bien dune seule et mme ligne. Les petites flches recourbesprsentes dans les marges (et qui sont agrandies dans la figure) sont des repres visuelspermettant de le savoir.

    Les lignes dpassant du bord de la fentre donnent un aspect inesthtique au

    fichier, il est donc prfrable de les viter.

    5.3 Les commandes

    Les manipulations plus compliques que la simple saisie du texte sont faites grce des combinaisons de touches appeles commandes.

    Celles-ci font appel deux touches du clavier, la touche Ctrl et la touche Meta .Autant la touche Ctrl vous est familire, autant il est inutile de chercher la toucheMeta sur le clavier, elle ny figure pas. Elle existait sur le clavier de lauteur dEmacs,

    49

  • 8/8/2019 Les bases d'informatique

    50/373

    Chapitre 5. Lditeur de texte Emacs

    FIGURE 5.2 Emacs : continuation de ligne.

    50

  • 8/8/2019 Les bases d'informatique

    51/373

    5.3. Les commandes

    Richard Stallman, et elle figure sous ce nom dans toutes les documentations sur Emacsdonc le terme est rest.

    Sur des claviers modernes, la touche Meta est remplace par deux touches, quon

    peut utiliser indiffremment en fonction de ses prfrences : la touche Alt utilise en conjonction avec une autre touche, cest--dire quon

    appuie dabord sur Alt et on la laisse enfonce pendant quon appuie sur lautretouche puis on relche les deux touches ;

    la touche Esc suivie dune autre touche, cest--dire quon tape dabord surEsc (en la relchant) puis sur lautre touche.

    La notation des commandes est particulire aux documentations sur Emacs etvous les trouverez partout reprsentes de la mme faon.

    Une commande introduite par la touche Ctrl se note C- suivi du caractre saisir,

    une commande introduite par la touche Meta se note M- suivi du caractre saisir.Par exemple, C-a reprsente lappui sur la touche Ctrl , quon maintient enfonce

    en appuyant sur A .On parle bien ici de caractre et pas seulement de touche. Ainsi, il existe une

    commande M-% (il sagit de la commande de recherche et de remplacement, qui seraaborde plus loin). M-% reprsente lappui sur la touche Alt , quon maintient enfonceen appuyant sur Shift et % (ou Esc puis Shift et % comme indiqu plushaut). Lemploi de la touche Shift a son importance car, sans elle, on aurait un 5sur un clavier QWERTY ou un sur un clavier AZERTY et pas un %.

    Les commandes les plus utilises sont introduites directement par C- ou M-, ce quirevient comme on vient de le voir lappui sur deux touches, voire trois. Malheureuse-ment, le nombre de caractres disponibles sur le clavier est limit et il est en pratiquencessaire davoir plus de commandes quil ny a de caractres sur le clavier. Certainescommandes moins utilises sont donc formes de deux combinaisons de touches,dont la premire est appele prfixe. Par exemple, la commande C-x C-c permet dequitter Emacs. Dans celle-ci, C-x est le prfixe. Un prfixe nest jamais utilis seul, il atoujours besoin dtre suivi par quelque chose pour former une commande complte.Emacs attend que la commande complte ait t saisie avant de faire quoi que ce soit.Si lon tarde finir la commande aprs avoir saisi le prfixe, Emacs affiche celui-ci

    dans le minibuffer, comme indiqu dans la figure 5.3 page suivante. On peut doncreprendre o lon tait si lon a t distrait ou interrompu.Il existe gnralement un moyen mnmotechnique pour retenir les commandes

    dEmacs, bas sur la signification (en anglais) du caractre suivant C- ou M-. Parexemple, C-d est la commande permettant deffacer (d comme delete) un caractre.Certaines commandes existent en deux versions, lune introduite par C-, lautre parM-. Dans ce cas, la version introduite par M- a toujours une porte plus importanteque celle introduite par C-. Pour reprendre le mme exemple, l o C-d efface uncaractre, M-d efface la fin du mot.

    Dans la suite de ce tour dhorizon, nous nallons pas aborder toutes les commandes

    51

  • 8/8/2019 Les bases d'informatique

    52/373

    Chapitre 5. Lditeur de texte Emacs

    FIGURE 5.3 Emacs : affichage dans le minibuffer dune commande partiellement saisie.

    52

  • 8/8/2019 Les bases d'informatique

    53/373

    5.4. Commandes de dplacement

    dEmacs mais seulement la vingtaine de commandes qui sert le plus. Il est importantdexprimenter ces commandes sur les quelques lignes de texte saisies plus haut, afinde bien comprendre leur fonctionnement.

    5.4 Commandes de dplacement

    Il est rare de rdiger un document de manire linaire. Il est donc utile de pouvoirse dplacer dans le texte de manire efficace. Les touches flches peuvent tre utilisespour les petits dplacements mais elles ne permettent pas de grands dplacementsrapides. Utiliser la souris nest pas non plus une bonne solution en raison de la pertede temps lie aux dplacements de la main.

    Heureusement, Emacs fournit plusieurs commandes permettant des dplacementsefficaces.

    La commande C-a permet de se dplacer en dbut de ligne (a est la premire lettrede lalphabet), la commande C-e en fin de ligne (e comme end).

    La commande C- suivie dune touche flche permet de se dplacer de mot enmot (un mot tant spar dun autre par une espace) pour les flches horizontales etde paragraphe en paragraphe (un paragraphe tant spar dun autre par une ligneblanche) pour les flches verticales.

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.

    html

    5.5 Commandes de suppressionLa commande C-d (d comme delete) permet de supprimer le caractre situ sous le

    curseur, la commande M-d la fin du mot partir de la position du curseur jusqu laprochaine espace ou jusquau prochain signe de ponctuation.

    partir de la position du curseur, la commande C-k (k comme kill) supprime lafin de la ligne, la commande M-k la fin du paragraphe.

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html

    http://www.gnu.org/software/emacs/manual/html_node/emacs/

    Killing-by-Lines.html

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.html

    5.6 Excution multiple dune commande

    Il est possible dexcuter n fois la mme commande en la prfixant par M-n. Ainsi,on peut effacer 5 lignes au moyen de M-5 C-k.

    On peut rpter la dernire commande lidentique, sans avoir besoin de laretaper, au moyen de C-x z (attention, cest C-x z, pas C-x C-z). Immdiatement

    53

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Words.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Words.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Words.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Words.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html
  • 8/8/2019 Les bases d'informatique

    54/373

    Chapitre 5. Lditeur de texte Emacs

    aprs avoir utilis C-x z, il suffit de taper une nouvelle fois z pour rpter la mmecommande et ainsi de suite.

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.html

    5.7 Copier-coller

    La procdure dcrite ci-dessous, permettant de copier puis de coller du texte, nestpas spcifique Emacs, mme sil semble opportun de la dcrire ici. En effet, cetteprocdure fonctionne avec nimporte quel logiciel manipulant du texte sous UNIX.

    Cest lune des rares occasions o nous allons utiliser la souris. Il existe bien des

    commandes dEmacs permettant de slectionner puis de coller du texte en nutilisantque le clavier mais il faut reconnatre quutiliser la souris est, dans ce cas prcis, plusefficace.

    Pour copier du texte, il suffit de le slectionner la souris. On positionne la sourisau dbut du texte copier, on appuie sur le bouton de gauche, on le maintient ainsi eton dplace la souris la fin du texte copier puis on relche le bouton. Rien que deplus classique ici.

    Petite astuce, lorsquon souhaite copier un mot, un double clic quelque part surce mot le slectionne sans avoir faire tout cela. Pour copier une ligne, cest laffairedun triple clic.

    Pour coller le texte pralablement copi, il suffit de dplacer la souris lendroito lon veut le voir apparatre et dappuyer sur le bouton du milieu (qui est biensouvent la molette).

    Si le mme texte est coller plusieurs endroits, il suffit de se repositionner etde cliquer nouveau sur le bouton du milieu, le texte copi restant en mmoire tantquune autre portion de texte nest pas copie.

    Et cest tout ! Cette mthode est bien plus simple que ce qui se fait sur Macintoshou sous Windows, qui implique lutilisation de la souris et du clavier. Sous UNIX,tout se fait la souris.

    5.8 Couper-coller

    En revanche, il nexiste pas de procdure quivalente utilisant uniquement lasouris pour raliser un couper-coller. La slection du texte se fait de la mme manireque pour le copier-coller. Puis on utilise la commande C-w pour couper le texteslectionn et on le colle comme pour le copier-coller.

    http://www.gnu.org/software/emacs/manual/html_node/emacs/

    Other-Kill-Commands.html

    54

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.htmlhttp://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.html
  • 8/8/2019 Les bases d'informatique

    55/373

    5.9. Commande dannulation des modifications

    5.9 Commande dannulation des modifications

    Lerreur est humaine. Et il arrive rgulirement de commettre une erreur par m-

    garde. Il est alors possible dannuler la dernire modification apporte au document enutilisant la commande C-/. En rptant cette commande, on annule lavant-derniremodification et ainsi de suite.

    http://www.gnu.org/software/emacs/manual/html_node/emacs/Undo.html

    5.10 Commandes de gestion de fichiers

    Nous avons maintenant suffisamment travaill sur notre document pour vouloirle sauvegarder sur disque.

    Il est important, et ceci vaut pour tous les logiciels, deffectuer des sauvegardesrgulires. En effet, entre deux sauvegardes, les modifications apportes au documentne sont stockes que dans la mmoire vive de lordinateur et lon nest jamais labridune coupure de courant ou de quelquun qui trbuche sur le cble dalimentation enle dbranchant au passage, ce qui fait irrmdiablemen