"La programmation Linux, avec tous ses langages et ses outils peut sembler intimidante au premier abord. Pourtant, si vous êtes bien guidé lors de votre apprentissage, vous vous y retrouverez très vite et, espérons le, vous aurez beaucoup de plaisir à développer sous Linux. Cet ouvrage devrait grandement faciliter vos premiers pas, puis vous accompager longtemps après."
Programmation Linux | |
Auteur | Neil Matthew, Richard Stones |
Editeur | Eyrolles/Wrox |
ISBN | 2-212-09129-x |
Pages | 1000 |
Prix | Constaté 300FF |
Rédacteur | trollhunter |
<!-- Ceci est a mettre comme texte de la news annoncant la revue<br/> du livre -->
La programmation Linux, avec tous ses langages et ses outils peut
sembler intimidante au premier abord. Pourtant, si vous êtes bien
guidé lors de votre apprentissage, vous vous y retrouverez très vite et,
espérons le, vous aurez beaucoup de plaisir à développer sous
Linux. Cet ouvrage devrait grandement faciliter vos premiers pas, puis
vous accompager longtemps après.
<!-- Fin du texte de la news -->
Dès l'introduction, l'audience le but et le plan de l'ouvrage sont
clairements définis.
Le premier chapitre est une introdution à la programmation sous Linux
et Unix. Y sont exposés les principaux outils de dévelopement :
languages, compilateurs ; les deux systèmes d'aide en ligne les plus
utilisés man et info sont présentés.
Les auteurs en profient pour attirer l'attention du lecteur sur les
petities subtilités de Linux concernant les paramètres passés aux
compilateur : minuscule/majuscule et espaces, celà fera gagner
beaucoup de temps aux gens venant d'un OS où la casse est
indifférente. A noter dans ce chapitre, une section peu répandue mais
ô combien utile sur l'utilisation et la création des fameux
.a, .so et .sa qui n'auront plus de
secrets pour vous à la fin de ce chapitre.
Le shell étant inséparable d'UNIX, le chapitre suivant y est
tout naturellement consacré. Après la présentation de ses concepts et
mécanismes de base ( E/S standards et redirection ), sa programmation
est présentée et ce chapitre se termine par une section intitulée
"passons à la pratique" où une petite application de gestion de CD est
écrite en shell.
Puis, tout naturellemnt les 3 chapitres suivants sont consacrés aux
particularités qui font toute la saveur d'UNIX: les fichiers,
l'environement et les terminaux. Comme l'on peut
s'y attendre les fichiers temporaires, l'interaction avec syslogd
termios et terminfo est expliquée, détailée
et illustrée code et schémas à l'appui.
Vous appréciez sans doute ces programmes semi graphique en console ;
après l'étude du chapitre suivant vous serez à même d'écrire des
programmes utilisant la libriairie curses: la preuve toutes les
connaissance précédement acquises sont mises en oeuvre avec la
réécriture de l'application de gestion de CD réécrite en C pour
l'occasion.
La gestion des données est le thème du septième chapitre avec deux
grosses parties: la gestion de la concurrence pour les accès aux
fichiers et dbm, la librairie standard du consortium X/Open
pour les bases de données. Bien entendu nous retrouvons l'application
de gestion des CD réécrite pour utiliser dbm.
Une fois, ces connaissances acquises et maitrisées, vos projets vont
certainement grandir en taille et en complexité ; peut être
travaillerez vous en équipe. Aussi les utilitaires make,
rcs, cvs
patch et tar
vous sont présentés, et cerise sur le gateau on vous
apprend à rédiger la mythique page de manuel complément indispensable
de votre projet.
Arrivé à ce point d'avancement du projet il y a une probabilité plus que
raisonable que vous contiez un membre supplémentaire dans votre équipe
: Murphy. Donc l'on vous présente entres autres outils
l'incontournable gdb, ElectricFence,
Checker, gprof.
Les applications interagissant les unes avec les autres,
les trois chapitres suivants sont consacrés aux processus, aux
threads et aux communicaions interprocess ( IPC ).
Dans le chapitre consacré aux IPC, l'application fétiche de cet
ouvrage revient mais cette fois ci elle vous est servie à la sauce
client/serveur.
Le treizième chapitre est consacé aux sémaphores, mémoire partagée et
messages.
Ensuite pour couronner le tout vous avez droit à un petit chapitre
d'initiation aux sockets.
A partir de là, l'ouvrage entre dans sa seconde partie où divers
langages et aspects de la programmation Linux sont présentés :
Comme, l'interface de nombreuses applications est graphique vous aurez
droit à de très bonnes bases pour programmer sous X: Tcl/Tk et GTK+,
bien sûr vous pourrez gérer votre CDthèque avec GNOME/GTK+.
Puis, le dixhuitième chapitre vous montrera la puissance de Perl,
et vous aurezdonc le loisir de comparer la gestion de vos CD en shell
et en Perl ;)
Ensuite, les deux chapitres suivants sont consacrés à une introduction
à HTML et aux CGI avec Perl à la fin des quels vous pourrez gérer vos
CD à l'aide d'un navigateur WEB.
Un dernier chapitre complète cet ouvrage où vous serez initié aux
gestionnaires de périphériques.
Le titre original de l'ouvrage "beginning Linux Programming" résume
bien la philosophie du livre : l'on vous donne les bases dans tous les
sujets aordés pour bien démarrer, après vous pourrez évoluer.
Tout au long des chapitres la présentation est claire, l'on sent que
les auteurs maitrisent bien leur sujet et qu'ils ont fait l'effort de
se mettre à la portée du lecteur tout en lui donnant des bases
solides. Il faut signaler la clarté de la mise en page avec les
nombreux tableaux, figures et captures d'écran mettant en lumière les
notions abordées ou servant à illustrer l'effet du code. Puisqu'il est
question du code, j'ai beaucoup aprécier sa présentaton dans de petis
encadrés et la discussion le suivant. A la fin de chaque chapitre un
résumé fait le bilan. Les auteurs font à la fois preuve de pédagogie
et de rigueur dans leur exposé.
Il faut signaler le côté très vivant du texte, que ce soit dans la VO
ou dans la version française : les traducteurs on fait un très bon
travail, peut être ont ils fait un peu trop de zèle dans la
francisation du texte ainsi la partie syslogd est intitulée "Gestion
des fichiers journaux" pour "Logging" dans la VO. Enfin, j'ai aussi
beucoup apprécié la présence d'un chapitre consacré aux threads.
Certains, ardents supporters
de KDE, pourront objecter du choix GTK+, l'idéal aurait été de
traiter des deux bibliothèques, simplement l'ouvrage atteind déjà les
1000 pages. Pour la programmation WEB il est dommage de ne pas avoir
abordé PHP. Enfin le dernier chapitre sur les gestionnaires de
périphérique à l'air un peu parachuté.
En dehors de ces quelques petits détails il s'agit d'un
excellent ouvrage d'introduction à la programmation Linux.
Table des matières
- Chapitre 1. Introduction
- Chapitre 2. Programmation shell
- Chapitre 3. Travailler avec les fichiers
- Chapitre 4. L'environnement UNIX
- Chapitre 5. Les terminaux
- Chapitre 6. Curses
- Chapitre 7. Gestion des données
- Chapitre 8. Outils de développement
- Chapitre 9. Debogage
- Chapitre 10. Processus et signaux
- Chapitre 11. Les Threads Posix
- Chapitre 12. Communication inter-processus : les tubes
- Chapitre 13. Sémaphores, mémoire partagée et messages
- Chapitre 14. Les sockets
- Chapitre 15. Tcl
- Chapitre 16. Programmation pour X
- Chapitre 17. Programmer GNOME à l'aide de GTK+
- Chapitre 18. Le langage de programmation Perl
- Chapitre 19. Internet, le HTML
- Chapitre 20. Internet : les CGI
- Chapitre 21. Pilotes de périphériques
- Annexe A. Portabilité
- Annexe B. La FSF et leprojet GNU
- Annexe C. Ressources Internet
- Annexe D. Bibliographie
Références
Vous pouvez aussi vous lire
APUE de Richard S. Stevens.
# Il manque quelques choses...
Posté par Gaël . Évalué à 1.
Donc, il manque des chapitres sur le C++ et sur KDE.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.