Une Bibliographie Linux (The Linux Reading List HOWTO) <author>Eric S. Raymond <newline> Traduction Thierry Le Quéau, <tt/thierry.lequeau@wanadoo.fr/ <date>1.2, 29 Novembre 1997 <abstract> 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). </abstract> <toc> <sect>Introduction <p> <sect1> But de ce document <p> 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). <sect1>Nouvelles versions de ce document <p> De nouvelles versions de ce document seront postées régulièrement dans <htmlurl url="news:comp.os.linux.answer" name="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 <url url="http://www.freenix.fr/linux/HOWTO">. Vous pouvez aussi voir la dernière version à l'adresse <url url="http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html">. <sect1>Joindre l'auteur : commentaires et corrections <p> 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, <htmlurl url="mailto:esr@thyrsus.com" name="esr@thyrsus.com">. Je recevrai avec plaisir toute suggestion ou critique. <sect1>Autres ressources <p> Pour les HOWTOs en ligne, magazines et autres supports voyez à l'adresse du <url name="Linux Documentation Project" url="http://sunsite.unc.edu/LDP/HOWTO">. En français : <url url="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 <url url="http://www.ccil.org/~esr/faqs/loginataka.html">. <sect1>Conventions utilisées dans ce document <p> 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 : <url url="http://www.ora.com/www/international/france/index.html" name="O'Reilly France"> <sect>Approche générale, histoire et pratique. <p> <descrip> <tag/The New Hacker's Dictionary (Third Edition)/ Raymond, Eric S.; MIT Press; 1996; ISBN 0-262-68092-0; 547pp.<newline> Voir <url url="http://www-mitpress.mit.edu/book-home.tcl?isbn=0262680920">. Euh, un guide sur la culture internet. A beaucoup de fans. HTML à : <url url="http://www.ccil.org" name="Jargon File Resource Page"> Version Française : "Le Cyberlexis, dictionnaire du jargon informatique", 1997,Edition Masson, 345FF <tag/A Quarter Century of Unix/ Salus, Peter H.; Addison-Wesley; 1994; ISBN 0-201-54777-5; 256pp.<newline> Voir <url url="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). <tag/The Mythical Man Month (Anniversary Edition)/ Brooks, Frederick P.; Addison-Wesley 1995 (ISBN 0-201-83595-9).<newline> Voir <url url="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. <tag/Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, part 2/ AT&T; 416 pp.<newline> 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"... </descrip> <sect> Livres sur les généralités UNIX/LINUX <p> <sect1> Installation et administration de Linux <p> <descrip> <tag/Linux Installation and Getting Started/ Welsh, Matt; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : <url url="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. <tag/Linux System Administrator's Guide/ Wirzenius, Lars; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : <url url="http://sunsite.unc.edu/LDP/LDP/sag">. Un excellent livre pour débuter. On y trouve comment entretenir et administrer un système Linux. <tag/Essential System Administration (Second Edition)/ Frisch, Aeleen; O'Reilly; 1995; ISBN 0-937175-80-3; 788 pp; $32.95. <newline> Voir <url url="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.<newline> Version française de ce livre : Les bases de l'administration système. ISBN : 2-84177-008-7; 768 pages, 320 francs. </descrip> <sect1> Utiliser Unix & Linux <p> <descrip> <tag/Linux in a Nutshell/ Hekman, Jessica P. et al.; O'Reilly; 1997; ISBN 1-56592-167-4; 438 pp. $9.95.<newline> Voir <url url="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. <tag/Running Linux (Second Edition)/ Welsh, Matt, & Kaufman, Lar; O'Reilly; ISBN 1-56592-151-8; 1996; 650pp; $24.95.<newline> Voir <url url="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. </descrip> <sect1> Sécurité du système <p> <descrip> <tag/Practical Unix Security/ Garfinkel, Simpson, and Spafford, Gene; O'Reilly Associates; ISBN 0-56592-148-8; 1991. <newline> Voir <url url="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." <tag/Firewalls & Internet Security/ Cheswick, William R. & Bellovin, Steven M.; Addison-Wesley; 1994; ISBN 0-201-63357-4; 320pp.<newline> Voir <url url="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. </descrip> <sect> Livres sur les shell, les langages de commandes, la programmation Web <p> <descrip> <tag/Programming Perl (Second Edition)/ Wall, Larry & Christiansen, Tom & Schwartz, Randal; O'Reilly; 1997; ISBN 0-56592-149-6; 644pp.<newline> Voir <url url="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.<newline> Version française : "Programmation en Perl 2e édition" ISBN : 2-84177-004-4, 710 pages, 280 francs. <tag/Programming Python/ Lutz, Mark; O'Reilly; 1997; ISBN 0-56592-197-6; 880pp.<newline> Voir <url url="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. <tag/HTML : The Definitive Guide (2nd Edition)/ Musciano, Chuck & Kennedy. Bill; O'Reilly; 1997; ISBN 0-56592-235-2; 552pp.<newline> Voir <url url="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). <tag/The Unix Programming Environment/ Kernighan, Brian, and Pike, Rob; Prentice-Hall; 1984; ISBN 0-13-937681-X; 1984.<newline> Un pur classic, sans doute la meilleure présentation en un seul volume de la philosophie UNIX.<newline> Version française : "L'environnement de programmation UNIX" 1986, International Edition, 376p, 259FF. </descrip> <sect>Livres sur les éditeurs de texte <p> <sect1> TeX et LaTeX <p> <descrip> <tag/The LaTeX Companion/ Goossens, Michael & Mittlebach, Frank, & Samarin, Alexander; Addison-Wesley; 1994; ISBN 0-201-54199-8; 530pp.<newline> Voir <url url="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." <tag/LaTeX: A Document Preparation System (Second Edition)/ Lamport, Leslie; Addison-Wesley; 1994; ISBN 0-201-52983-1; 256pp.<newline> Voir <url url="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." <tag/The TeXbook, Volume A of Computers and Typesetting/ Knuth, Donald A.; Addison-Wesley; 1986, ISBN 0-201-13448; 496pp. Voir <url url="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. <tag/The METAFONT book, Volume C of Computers and Typesetting/ Knuth, Donald A.; Addison-Wesley; 1986; 0-201-13444-6, 1986; 384pp.<newline> Voir <url url="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 ! </descrip> <sect>Livres sur la programmation en C et C++ <p> <sect1>C et C++ <p> <descrip> <tag/The C Programming Language (Second Edition)/ Kernighan, Brian W.; Ritchie, Dennis M; Prentice-Hall; 1988; ISBN 0-13-110362-8, 272pp.<newline> 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 !<newline> Version française : "Le langage C norme ANSI" seconde édition, 1997, Edition Masson, 296p, 195FF. <tag/Who's Afraid of C++ ?/ Heller, Steve; Academic Press; 1996; ISBN 0-12-339097; 508pp.<newline> Le meilleur livre d'initiation sur la programmation en C++ que je connaisse. </descrip> <sect1>L'interface des appels systèmes en C <p> <descrip> <tag/POSIX Programmer's Guide : Writing Portable Unix Programs/ Lewine, Donald; O'Reilly; 1992; ISBN 0-937175-73-0; 607pp.<newline> Voir <url url="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. <tag/The Posix.1 Standard : A Programmer's Guide/ Zlotnick, Fred; Benjamin Cummings; 1991; ISBN 0-8053-9605-5; 379pp.; $35.95 (USA).<newline> 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." </descrip> <sect>Livres sur le réseau <p> <descrip> <tag/Unix Network Programming/ Stevens, W. Richard; Prentice Hall; 1990; ISBN 0-13-949876-1; 772 pp.; $54 (USA).<newline> 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. <tag/Linux Network Administrator's Guide/ Kirch, Olaf; O'Reilly; 1995; ISBN 1-56592-087-2; 335pp.<newline> Voir <url url="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 à <url url="http://sunsite.unc.edu/LDP/">, ou directement à <url url="http://sunsite.unc.edu/LDP/LDP/nag/nag.html">.<newline> Version française : "Administration réseaux sous Linux" 1995, Edition O'Reilly, 336p, 220FF. <tag>TCP/IP Network Administration</tag> Hunt, Craig; O'Reilly Associates, ISBN 0-937175-82-X; 1992; 472pp.<newline> Voir <url url="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. <tag/DNS and BIND (Second Edition)/ Albitz, Paul, and Liu, Cricket; O'Reilly; 1996; ISBN 1-56592-236-0; 1992; 438pp; $32.95.<newline> Voir <url url="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. <tag/Sendmail (Second Edition)/ Costales, Bryan & Allman, Eric; O'Reilly; ISBN 1-56592-222-0; 1997; 1050 pp; $32.95<newline> Voir <url url="http://www.ora.com/catalog/sendmail2/noframes.html">. Un guide complet sur l'outil de courrier installé par défaut sur UNIX et LINUX. </descrip> <sect>Livres sur l'implémentation du noyau sous Unix <p> <sect1>Ancêtres de Linux <p> <descrip> <tag/The Design of the Unix Operating System/ Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60 (USA). Le livre qui a permis à Linus de débuter.<newline> Version française : "Conception du système UNIX" 1989, Edition Masson, 512p, 459FF. <tag/Operating Systems, Design and Implementation;/ 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.<newline> Version française : "Système d'exploitation, systèmes centralisés, systèmes distribués" 1994, International Edition, 848p, 357FF. </descrip> <sect1>Linux <p><descrip> <tag/Linux Kernel Hackers' Guide/ Johnston, Michael K. Disponible sur le Web à la page du Linux Documentation Project <url url="http://sunsite.unc.edu/LDP/"> ou directement à <url url="http://www.redhat.com:8080/HyperNews/get/khg.html">. <tag/LINUX Kernel Internals/ Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich & Magnus, Robert & Verworner, Dick; Addison Wesley; 1996; ISBN : 0-201-87741-4; 480pp.<newline> Voir <url url="http://cseng.aw.com/">. Un manuel sur la programmation du noyau sous Linux 1.2, légèrement périmé. </descrip> <sect1>Relatifs à Linux <p><descrip> <tag/The Design and Implementation of the 4.4BSD Unix Operating System/ McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4; 608pp.<newline> Voir <url url="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. <tag/Porting Unix to the 386/ Jolitz, William F., and Jolitz, Lynne G.; Dr. Dobb's Journal; Jan 1991-July 1992. </descrip> <sect>Livres sur l'architecture et la programmation des processeurs Intel <p> <descrip> <tag/80386 Programmer's Reference Manual/ 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. <tag/80386 System Software Writer's Guide/ 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. <tag/Programming the 80386/ 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. <tag/Pentium Processor User's Manual : Volume 3, Architecture and Programming Manual/ 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. </descrip> <sect>Livres sur le matériel PC <p> Note : ces livres ont quatre ou cinq ans et sont probablement dépassés. Le matériel n'est pas ma tasse de thé... <descrip> <tag/80386 Hardware Reference Manual/ Intel Corp.; 1986; ISBN 1-55512-024-5; Connections des pin, synchronisation, type d'ondulation, diagrammes de bloc, voltages, toutes ces sortes de choses. <tag/The Indispensable PC Hardware Book/ 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." </descrip> <sect>Aspects administratifs <p> <sect1>Conditions d'utilisations <p> Ce document est copyright 1997 par Eric S. Raymond. Vous pouvez l'utiliser, le diffuser et le reproduire librement pour autant que vous : <itemize> <item>Ne supprimiez ou modifiez pas cette notice de copyright. <item>Ne supprimiez ou modifiez pas le numéro de version et la date. <item>Ne supprimiez ou modifiez pas le lien vers la version actuelle sur le Web. <item>Marquiez clairement toute version condensée ou altérée comme telle. </itemize> 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. <sect1>Historique <P> 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. </article>