[email protected]
Ce document donne la liste des livres de référence que je considère essentiels pour débuter et programmer sous UNIX (et spécialement sous Linux).
De nouvelles versions de ce document seront postées régulièrement dans comp.os.linux.answer. Elles seront également disponibles sur les divers sites WWW et FTP Linux, notamment le site du LDP (Linux Documentation Project). La version française est disponible sur http://www.freenix.fr/linux/HOWTO.
Vous pouvez aussi voir la dernière version à l'adresse http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html.
Si vous avez des questions ou des commentaires au sujet de ce document (ou si vous voulez conseiller un livre), ne le gardez pas pour vous, faites-en part à Eric S. Raymond, [email protected]. Je recevrai avec plaisir toute suggestion ou critique.
Pour les HOWTOs en ligne, magazines et autres supports voyez à l'adresse du Linux Documentation Project. En français : http://www.freenix.fr/linux/HOWTO.
Il y a quelques années j'ai écrit une bibliographie sur UNIX, moins axée sur LINUX, qui présente encore quelque intérêt et peut prêter à sourire. Vous pouvez trouver la "Loginataka" à l'adresse http://www.ccil.org/~esr/faqs/loginataka.html.
Les commentaires qui ne sont pas entre guillemets sont les miens, ou je n'ai pas jugé bon de modifier ceux de Jim Haynes (mon prédécesseur). Les commentaires envoyés par d'autres personnes sont entre guillemets, précédés du nom de leur auteur. (JH = Jim Haynes).
Les URLs "voir" apparaissant à côté des informations sur la publication renvoient au catalogue en ligne de la maison d'édition et pointent généralement sur une page contenant une vue de la couverture, une brève description et un formulaire de commande. Certains ouvrages ne l'on pas, parce que le site web utilise des cadres rendant impossible l'accès direct à la page concernée.Pour les livres édités par Addison-Wesley, l'url vous amène sur la page de garde, le chemin amenant jusqu'au livre semblant poser problème aux sgml-tools.
Les différents sujets sont d'abord traités de manière générale. Les sections suivantes aprofondiront le sujet. (dans l'ordre : généralités, programmation au niveau utilisateur, programmation du noyau, enfin le matériel.) J'ai essayé de présenter d'abord les livres les plus utiles, dans la mesure où ils me sont familiers. Si l'un de mes ouvrages est cité en premier, il s'agit d'une coïncidence embarrassante ! (Toute suggestion pour une meilleure organisation acceptée avec plaisir). NdT: Vous pouvez trouver les Editions O'Reilly en français à l'adresse suivante : O'Reilly France
Raymond, Eric S.; MIT Press; 1996; ISBN 0-262-68092-0; 547pp.
Voir
http://www-mitpress.mit.edu/book-home.tcl?isbn=0262680920.
Euh, un guide sur la culture internet. A beaucoup de fans. HTML à : Jargon File Resource Page Version Française : "Le Cyberlexis, dictionnaire du jargon informatique", 1997,Edition Masson, 345FF
Salus, Peter H.; Addison-Wesley; 1994; ISBN 0-201-54777-5; 256pp.
Voir
http://www.awl.com/cp/authors/salus/unix/unix.html
Linux fait partie de la tradition Unix. Ce livre retrace l'histoire d'Unix vu par ses utilisateurs (origine, évolution, expansion).
Brooks, Frederick P.; Addison-Wesley 1995 (ISBN 0-201-83595-9).
Voir
http://cseng.aw.com.
Le seul livre sur la programmation qui devrait être lu par tout le monde. Alan Cox : "Je ne recommande pas ce livre pour sa valeur technique mais plus pour le réalisme et le bon sens des projets proposés." JH : "Ah oui. Qu'est-ce que ça aurait été si on avait donné à Linus 200 programmeurs et si on lui avait demandé de fournir Linux en 3 mois !" Version française : "Le Mythe du mois-homme" 1996, Edition Inter. Thomson, 240FF.
AT&T; 416 pp.
Plusieurs articles sur les débuts d'Unix, notamment : Ritchie & Thompson, "The UNIX Time Sharing System"; Thompson, "UNIX Implementation"; Richie, "A Retrospective"; Bourne, "The UNIX Shell"...
Welsh, Matt; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : http://sunsite.unc.edu/LDP/LDP/gs/gs.html.
On y trouve comment installer Linux, l'explication des bases de Linux, ainsi qu'une initiation à l'administration système.
Wirzenius, Lars; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : http://sunsite.unc.edu/LDP/LDP/sag.
Un excellent livre pour débuter. On y trouve comment entretenir et administrer un système Linux.
Frisch, Aeleen; O'Reilly; 1995; ISBN 0-937175-80-3; 788 pp; $32.95.
Voir
http://www.ora.com/catalog/esa2/noframes.html.
Une exploration plus en profondeur des tâches normales d'administration système. Ce n'est pas un livre exclusivement sur Linux mais il contient des infos
sur le matériel.
Version française de ce livre : Les bases de l'administration système.
ISBN : 2-84177-008-7; 768 pages, 320 francs.
Hekman, Jessica P. et al.; O'Reilly; 1997;
ISBN 1-56592-167-4; 438 pp. $9.95.
Voir
http://www.ora.com/catalog/linuxnut/noframes.html.
D'après "The Desktop Reference for Linux" de O'Reilly. Pour les utilisateurs de Linux, cet ouvrage rend obsolète l'édition "Unix in a Nutshell" qui était orientée stations SVR4/Solaris.
Welsh, Matt, & Kaufman, Lar; O'Reilly; ISBN 1-56592-151-8;
1996; 650pp; $24.95.
Voir
http://www.ora.com/catalog/runux2/noframes.html.
Tout ce que vous avez besoin pour comprendre, installer et utiliser le système Linux. Excellent livre pour débutants. Version française : "Linux mode d'emploi" 1996, Edition Sybex, 436p, 79FF.
Garfinkel, Simpson, and Spafford, Gene; O'Reilly Associates; ISBN
0-56592-148-8; 1991.
Voir
http://www.ora.com/catalog/puis/noframes.html.
Ronald P. Miller : "Quelques reprises du livre "Essential System Admin", mais globalement bien fait sur la sécurité, et spécialement pour ceux qui veulent créer un serveur sous Linux accessible par de multiples utilisateurs via le net."
Cheswick, William R. & Bellovin, Steven M.; Addison-Wesley;
1994; ISBN 0-201-63357-4; 320pp.
Voir
http://cseng.aw.com/.
Il existe un livre "Firewalls : la sécurité sur Internet" en français mais
qui n'a rien à voir avec l'édition anglaise.
Wall, Larry & Christiansen, Tom & Schwartz, Randal; O'Reilly; 1997;
ISBN 0-56592-149-6; 644pp.
Voir
http://www.ora.com/catalog/pperl2/noframes.html.
Le Shell est mort (non seulement pour son langage de programmation mais aussi
pour son écriture archaïque), Vive Perl !
C'est la seconde édition du livre sur Perl, bien mieux organisée que la
première et elle intègre Perl 5.
Version française : "Programmation en Perl 2e édition" ISBN : 2-84177-004-4,
710 pages, 280 francs.
Lutz, Mark; O'Reilly; 1997; ISBN 0-56592-197-6; 880pp.
Voir
http://www.ora.com/catalog/python/noframes.html.
Etape suivante après Perl. Belle présentation de Python, avec une meilleure intégration de C, il est plus adapté aux projets d'envergure.
Musciano, Chuck & Kennedy. Bill; O'Reilly; 1997;
ISBN 0-56592-235-2; 552pp.
Voir
http://www.ora.com/catalog/html2/noframes.html.
Le meilleur guide de référence que je connaisse, et le seul livre sur le HTML dont vous ayez besoin à moins de vouloir utiliser le CGI (Common Gateway Interface).
Kernighan, Brian, and Pike, Rob;
Prentice-Hall; 1984; ISBN 0-13-937681-X; 1984.
Un pur classic, sans doute la meilleure présentation en un seul volume de la
philosophie UNIX.
Version française : "L'environnement de programmation UNIX" 1986,
International Edition, 376p, 259FF.
Goossens, Michael & Mittlebach, Frank, & Samarin, Alexander;
Addison-Wesley; 1994; ISBN 0-201-54199-8; 530pp.
Voir
http://cseng.aw.com/.
Si vous êtes un des utilisateurs voulant savoir comment LaTeX peut vous aider à créer les plus beaux documents sans devenir un expert, alors ce guide est pour vous (tiré de la préface). Bruce Thompson ajoute : "Un très joli livre qui vous donne beaucoup d'infos sur les nouvelles extensions à LaTeX avec un large choix d'exemples vous montrant comment effectuer la mise en forme de vos documents."
Lamport, Leslie; Addison-Wesley; 1994; ISBN 0-201-52983-1; 256pp.
Voir
http://cseng.aw.com/.
Bruce Thompson : "Le top des références sur LaTeX 2.09 par son auteur. Une nouvelle édition couvrant LaTeX2e est en préparation (cette version est incluse dans la distribution TeX/LaTeX). LaTeX 2.09 est compatible 100% avec LaTeX2e. Un Must pour quiconque veut utiliser LaTeX. Il donne une introduction simple sur la préparation de document et les différents outils pour les produire avec une qualité professionnelle. De nombreux exemples."
Knuth, Donald A.; Addison-Wesley; 1986, ISBN 0-201-13448; 496pp. Voir http://cseng.aw.com/
Bruce Thompson : "Le Livre d'Or de TeX (comprenant manuel d'utilisateur et livre de référence). Vous n'en aurez probablement jamais besoin pour utiliser TeX de manière normale, mais il reste toutefois un livre fascinant." Je rajouterais que ce livre ne s'adresse pas aux néophytes, à réserver aux experts de TeX.
Knuth, Donald A.; Addison-Wesley; 1986; 0-201-13444-6, 1986; 384pp.
Voir
http://cseng.aw.com/
Bruce Thompson : "Le guide définitif et complet sur METAFONT, une extension de TeX pour la création de polices de caractères. Un excellent ouvrage si vous projetez de créer vos propres polices pour TeX et LaTeX. METAFONT est inclus avec la distribution normale de TeX/LaTeX." Ce livre n'est vraiment pas (mais alors pas du tout !) pour les néophytes, pro only !
Kernighan, Brian W.; Ritchie, Dennis M; Prentice-Hall; 1988;
ISBN 0-13-110362-8, 272pp.
Une seconde édition améliorée et inspirée du livre édité par le créateur du C
"K & R", incluant ANSI C. Toujours le meilleur !
Version française : "Le langage C norme ANSI" seconde édition, 1997,
Edition Masson, 296p, 195FF.
Heller, Steve; Academic Press; 1996; ISBN 0-12-339097; 508pp.
Le meilleur livre d'initiation sur la programmation en C++ que je connaisse.
Lewine, Donald; O'Reilly; 1992; ISBN 0-937175-73-0; 607pp.
Voir
http://www.ora.com/catalog/posix/noframes.html.
Une excellente référence pour tout programmeur sous POSIX.1. Je préfère ce titre à celui choisi par JH.
Zlotnick, Fred; Benjamin Cummings; 1991; ISBN 0-8053-9605-5; 379pp.;
$35.95 (USA).
JH : "Une fois je me suis plaint de l'absence de pages man pour la section 2. Quelqu'un m'a aussitôt dit de me procurer un livre sur POSIX, qui reflétait bien le sujet de cette section sous Linux. J'aime bien cet ouvrage parce que je ne suis pas un programmeur professionnel et que son auteur donne beaucoup d'explications et d'exemples."
Stevens, W. Richard; Prentice Hall; 1990; ISBN 0-13-949876-1;
772 pp.; $54 (USA).
Tout ce que vous voulez savoir sur ce sujet et même sûrement au delà (vraiment, XNS!?). Bien qu'il soit antérieur au web, il constitue une référence pour ses bases.
Kirch, Olaf; O'Reilly; 1995; ISBN 1-56592-087-2; 335pp.
Voir
http://www.ora.com/catalog/linag/noframes.html.
Un guide pratique sur le protocole TCP/IP et autres outils associés sous Linux.
Accessible également sur la page du Linux Documentation Project à
http://sunsite.unc.edu/LDP/, ou directement à
http://sunsite.unc.edu/LDP/LDP/nag/nag.html.
Version française : "Administration réseaux sous Linux" 1995, Edition
O'Reilly, 336p, 220FF.
Hunt, Craig; O'Reilly Associates, ISBN 0-937175-82-X; 1992; 472pp.
Voir
http://www.ora.com/catalog/tcp2/noframes.html.
Moins spécifique à Linux que le livre de Kirch. Développe le TCP/IP en profondeur, incluant le routage et BGP. Version française : "Administration de réseaux" 1995, Edition Eddison Wesley, 576p, 348FF.
Albitz, Paul, and Liu, Cricket; O'Reilly; 1996; ISBN 1-56592-236-0;
1992; 438pp; $32.95.
Voir
http://www.ora.com/catalog/dns2/noframes.html.
Explique en profondeur le DNS, utile pour les personnes utilisant des installations sophistiquées en réseau relié au net. Couvre aussi la programmation des librairies BIND.
Costales, Bryan & Allman, Eric; O'Reilly;
ISBN 1-56592-222-0; 1997; 1050 pp; $32.95
Voir
http://www.ora.com/catalog/sendmail2/noframes.html.
Un guide complet sur l'outil de courrier installé par défaut sur UNIX et LINUX.
Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60 (USA).
Le livre qui a permis à Linus de débuter.
Version française : "Conception du système UNIX" 1989, Edition Masson, 512p, 459FF.
Tanenbaum, Andrew S.; Prentice-Hall; 1987.
Un livre apprécié d'Alan Cox (un des concepteurs du noyau). Tanenbaum a conçu
Minix que Linus a remodelé pour en faire Linux.
Version française : "Système d'exploitation, systèmes centralisés, systèmes
distribués" 1994, International Edition, 848p, 357FF.
Johnston, Michael K.
Disponible sur le Web à la page du Linux Documentation Project http://sunsite.unc.edu/LDP/ ou directement à http://www.redhat.com:8080/HyperNews/get/khg.html.
Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich
& Magnus, Robert & Verworner, Dick; Addison Wesley; 1996;
ISBN : 0-201-87741-4; 480pp.
Voir
http://cseng.aw.com/.
Un manuel sur la programmation du noyau sous Linux 1.2, légèrement périmé.
McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and
Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4;
608pp.
Voir
http://cseng.aw.com/.
Le successeur de l'ouvrage sur l'implémentation du noyau de BSD 4.3, qui a influencé le concept de Linux (spécialement pour les sockets et travail sur internet). Ce livre couvre les bases de BSD 4.4 pour BSD/OS, FreeBSD et NetBSD.
Jolitz, William F., and Jolitz, Lynne G.; Dr. Dobb's Journal; Jan 1991-July 1992.
Intel Corp.; ISBN 1-55512-022-9; 1986.
1ère partie : Programmation des applications, les types de données, Les modèles d'adressage, mode d'emploi. 2ème partie : Programmation des systèmes, architecture, gestion de la mémoire, protection, multi-taches, Entrée/Sortie, exceptions et interruptions, initialisation, co-processeur et multi-processeur. 3ème partie : Compatibilité avec les machines plus anciennes x86. 4ème partie : Manuel des instructions.
Intel Corp.; ISBN 1-55512-023-7; 1987.
Ce livre explique les caractéristiques du 386 pour les programmeurs de système d'exploitation. Il contient un chapitre sur l'implémentation d'Unix. Beaucoup d'architectures basées sur le 80386 semblent avoir été prévues avec Multics, les caractéristiques ne sont pas compatibles avec DOS et UNIX.
Crawford, John H & Gelsinger, Patrick P.; Sybex; ISBN 0-89588-381-3; 774pp.; $26.95 (USA).
Les Jolitz ont utilisé ce livre pour adapter le BSD sur l'architecture 386.
Intel Corp.; 1993; ISBN 1-55512-195-0;
A peu de choses près la version Pentium du manuel de référence listé ci-dessus.
Note : ces livres ont quatre ou cinq ans et sont probablement dépassés. Le matériel n'est pas ma tasse de thé...
Intel Corp.; 1986; ISBN 1-55512-024-5;
Connections des pin, synchronisation, type d'ondulation, diagrammes de bloc, voltages, toutes ces sortes de choses.
Messmer, Hans-Peter; Addison-Wesley; 1993; ISBN 0-201-62424-9; 1000 pp.
JH : "Couvre les plus récentes technologies comme les bus EIDE et PCI."
Ce document est copyright 1997 par Eric S. Raymond. Vous pouvez l'utiliser, le diffuser et le reproduire librement pour autant que vous :
Ces restrictions visent à protéger les lecteurs potentiels de versions dépassées ou déformées. Si vous pensez avoir un motif justifiant une exception, contactez-moi.
Ceci était à l'origine un mini-HOWTO géré par Jim Haynes. J'en ai changé un peu la teneur, essayant d'en faire un document plus autonome et moins dépendant des divers articles bibliographiques de USENET. Les minicommentaires non attribués sont plutôt les miens que les siens. Les rajouts pour la version française n'ont rien à voir avec celle d'origine.