Plongez dans les profondeurs du T.A.L. !

++ Accueil
++ Outils de travail
++ Emacs

Emacs est une famille d’éditeurs de texte disposant d’un ensemble extensible de fonctionnalités. Il est très populaire parmi les programmeurs et plus généralement les personnes ayant des compétences techniques sur les ordinateurs.

L’EMACS originel‚ signifiant Editing MACroS running on TECO‚ c’est–à–dire "macros d’édition pour TECO"‚ a été écrit en 1975 par Richard Stallman‚ initialement avec Guy Steele. Il a été inspiré par les idées développées dans TECMAC et TMACS‚ deux jeux de macros d’édition pour TECO‚ notamment écrits par Guy Steele‚ Dave Moon‚ Richard Greenblatt et Charles Frankston.

Il utilise un langage d’extension puissant‚ Emacs Lisp‚ qui permet la prise en charge de tâches évoluées‚ telles que l’écriture et la compilation de programmes‚ la navigation sur le WEB‚ la lecture des forums de discussion ou du courrier électronique.

Il convient toutefois de rappeler qu’il s’agit avant tout d’un éditeur de texte‚ et non pas d’un traitement de texte. Ses très nombreuses fonctionnalités sont destinées à aider l’utilisateur à manipuler des morceaux de texte‚ plutôt que de manipuler des polices de caractères ou d’imprimer des documents (Bien qu’Emacs en soit capable). Emacs propose une multitude de fonctionnalités pour accomplir la faussement simple tâche d’éditer du texte‚ depuis la manipulation des mots et des paragraphes (Les effacer‚ les déplacer‚ s’y déplacer‚ ...)‚ jusqu’à la coloration syntaxique pour faciliter la lecture du code source‚ en passant par les macros au clavier‚ pour exécuter n’importe quelle séquence‚ interactive ou non‚ de commandes définies par l’utilisateur.

La richesse de fonctionnalités offerte par Emacs est le résultat d’une conception inhabituelle. Pratiquement toutes les fonctionnalités de l’éditeur‚ depuis les opérations d’édition de base comme l’insertion d’un caractère dans un fichier jusqu’à la configuration de l’interface utilisateur‚ sont contrôlées par le biais d’un dialecte du langage de programmation Lisp‚ appelé Emacs Lisp. Dans cet environnement Lisp‚ les variables et même les fonctions peuvent être modifiées à la volée‚ sans qu’il soit nécessaire de recompiler ou même de redémarrer l’éditeur. De ce fait‚ le comportement d’Emacs peut être changé presque sans limite‚ par l’utilisateur‚ ou (Plus généralement) en chargeant d’importantes portions de code‚ appelées libraries ("Bibliothèques")‚ packages ("Paquetages") ou extensions.

Emacs inclut un grand nombre de bibliothèques Emacs Lisp‚ mais de nombreuses autres bibliothèques indépendantes peuvent être trouvées sur Internet. Beaucoup de bibliothèques proposent des facilités pour les programmeurs‚ reflétant la popularité d’Emacs parmi les informaticiens. Emacs peut être utilisé comme un environnement de développement intégré (EDI)‚ permettant aux programmeurs de modifier‚ compiler et débuguer leur code depuis une unique interface. D’autres bibliothèques ont des fonctions moins habituelles‚ par exemple :
* Calc‚ une calculatrice numérique performante.
* Calendar–mode‚ pour gérer son emploi du temps.
* Doctor‚ une version de ELIZA qui propose une psychothérapie Rogerienne basique.
* Dunnet‚ un jeu d’aventure en mode texte.
* Ediff‚ pour travailler de manière interactive avec les fichiers de différences.
* Emerge‚ pour comparer des fichiers et les fusionner.
* Emacs/W3‚ un navigateur web.
* ERC (Emacs)‚ un client IRC.
* Gnus‚ un client mail et news complet.
* MULE (MUltiLingual extensions to Emacs) permettant l’édition de texte écrit dans plusieurs alphabets et plusieurs
langues‚ semblable à Unicode.
* Info‚ un navigateur hypertexte pour l’aide en ligne.
* Tetris.

Emacs permet l’édition de textes écrits dans différentes langues. Il supporte plusieurs alphabets‚ écritures‚ systèmes d’écritures et conventions culturelles. Emacs est capable d’effectuer la vérification orthographique pour de nombreuses langues en faisant appel à des programmes externes‚ tel que ispell. De nombreux encodages de texte sont reconnus et utilisables‚ y compris UTF–8. XEmacs 21.5 sait gérer intégralement Unicode‚ et cette fonctionnalité est en cours de développement dans GNU Emacs. Toutefois‚ l’interface d’Emacs est en anglais et n’a pas été traduite dans d’autres langues. Pour les utilisateurs mal– ou non–voyants‚ il existe un sous–système appelé Emacspeak‚ qui permet d’utiliser l’éditeur exclusivement au travers d’interactions sonores.

Emacs est l’un des programmes informatiques non–trivaux les plus portés. Il fonctionne sur un grand nombre de systèmes d’exploitation‚ notamment la plupart des systèmes UNIX (GNU/Linux‚ les différents systèmes BSD‚ Solaris‚ AIX‚ Mac OS X‚ ...)‚ MS–DOS‚ Microsoft Windows et OpenVMS.

Emacs fonctionne à l’identique dans une console ou dans un environnement graphique. Sur les systèmes de type UNIX‚ Emacs utilise X Window System pour son interface graphique‚ soit directement‚ soit en faisant appel à une bibliothèque de widgets comme Motif‚ LessTif ou GTK+. Emacs est aussi capable d’utiliser les systèmes graphiques natifs de Mac OS X (Grâce à l’API Carbon) et de Microsoft Windows. L’interface graphique propose des barres de menus et d’outils‚ des barres de défilement et des menus contextuels.


Haut de page