RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

Bibliographie du cours à Rennes

Ceux qui sont curieux de comprendre ce qui se passe dans les nouvelles technologies auront intérêt à lire les ouvrages suivants. Par la force des choses, cette bibliographie est pour l'essentiel en anglais. Désolé, mais il n'y a pas moyen de faire autrement...

David S. Bennahum, Extra Life, Basic Books, 1998

Une expérience personnelle dans le monde des nouvelles technologies, racontée avec finesse et sensibilité.

L'auteur raconte comment sa personnalité s'est formée par la rencontre avec les jeux vidéo, puis l'ordinateur personnel, enfin l'ordinateur partagé et la programmation. Ce gamin des années 70 (Bennahum est né en 1967) était gêné par son strabisme et une difficulté à coordonner ses mouvements ; il fut désorienté par les nombreux déménagements de sa famille, puis par la mésentente entre ses parents. Il avait trouvé refuge dans un monde imaginaire, "virtuel" avant la lettre. L'ordinateur et la lecture lui permirent d'élargir ce refuge, de s'y livrer à des explorations, d'échapper aux pièges de la drogue et de la délinquance.

Les livres nous transforment ; depuis la Renaissance les effets de la lecture sur le développement personnel ont été souvent expérimentés et décrits. L'ordinateur nous transforme aussi, mais avant ce livre cette expérience n'avait pas été décrite dans ses détails et sa profondeur. En retraçant un parcours singulier, Bennahum aide à mieux comprendre notre propre aventure. Nos relations, notre expression, l'organisation de nos journées ont été transformées par la messagerie, le traitement de texte, l'agenda électronique, la documentation en réseau. Les langages de programmation nous ont ouvert un espace de liberté dont l'entrée se paie bien sûr par un apprentissage pénible. Quant au Web, il va changer notre façon de travailler, de faire du commerce, sans parler de l'accès à l'information...

Nous avons acquis, de façon confuse, de nouveaux savoir faire, et nous cherchons de nouveaux savoir vivre. Il était bon d'en faire le bilan.

Bennahum s'arrête toutefois au seuil de ce que nous apercevons aujourd'hui : avec Linux, retour en force du développement en réseau dont il a la nostalgie, recul prévisible du progiciel sur étagère, compilé, clos et intouchable, et donc une ère pleine d'intérêt pour l'utilisateur. Avec UML, Java, Corba, changement du rôle et de la nature du système d'information de l'entreprise. Avec Jini, peut-être, extension de l'informatisation à nos équipements familiers. Ces trois mouvements complémentaires constituent ce que j'appelle "la nouvelle informatique". Bennahum en signale les prémices, mais ne la décrit pas.

Alan W. Biermann, Great Ideas in Computer Science, MIT Press, 1997

Un parcours bien balisé, et facile à comprendre, des questions les plus importantes que pose l'informatique.

Un texte simple, au vocabulaire précis et juste, introduit progressivement toutes les notions fondamentales. Elles sont si naturelles présentées ainsi ! j'admire cette pédagogie sans prétention, orientée vers l'efficacité. L'auteur a travaillé beaucoup pour que le lecteur trouve tout cela facile.

Une fois que vous avez lu Biermann, vous avez compris l'informatique. Vous n'êtes pas un informaticien, il faut de la pratique pour cela ; mais votre intuition en algorithmique est bien orientée.

Paul E. Ceruzzi, A History of Modern Computing, MIT, 1998

Un livre au sérieux un peu pesant, mais... il est unique en son genre.

Il est devenu nécessaire de voir l'informatique avec le recul que permet l'approche historique. Cependant les historiens ne se sont pas encore attelés à la tâche : sans doute parce qu'il faut, pour l'aborder, maîtriser à la fois les méthodes de l'histoire et celles de l'informatique, double compétence peu répandue ; aussi parce que le domaine effraie par sa complexité.

Il existe des ouvrages partiels et excellents, comme celui de Paul Carroll sur IBM. Mais pas de vue d'ensemble. C'est cette lacune que Paul Ceruzzi a tenté de combler.

Il n'y arrive qu'en partie. D'une part, comme souvent en histoire, il s'arrête au seuil de l'époque actuelle : s'il décrit l'histoire de l'Internet, il ne décrit pas celle des langages orientés objet, ni des langages de modélisation des processus, ni les "brokers" comme Corba, ni les changements apportés par l'Intranet dans les entreprises, ni même l'intelligence artificielle qui est pourtant une aventure déjà ancienne.

On souhaiterait par ailleurs qu'il aborde son sujet non seulement sur les plans technique et historique, mais aussi sur le plan philosophique. Comment exprimer autrement que dans le langage de la philosophie des représentations et des projets dont l'objet est la façon dont on construit, relie, utilise des concepts ? Comment décrire ce qui distingue tel langage de tel autre, ce qui fait la force ou la faiblesse d'outils bureautiques comme le tableur, la messagerie, la documentation électronique, etc. ?

Pourtant la lecture de ce livre est nécessaire. Il apporte des informations jusqu'ici inédites ou difficiles à trouver sur les origines des choix techniques, du vocabulaire, ainsi que sur les mécanismes de la réussite dans ce marché très concurrentiel. J'ai l'intention de le relire en prenant des notes pour mieux maîtriser son contenu.

Il nous faudrait aussi un livre sur l'histoire du logiciel ; il devrait certes faire référence au matériel (puisque les progrès du matériel sont indispensables à l'éclosion des langages), mais aussi montrer ce que chaque langage a de spécifique, ses apports et ses limites.

Michael Hiltzik, Dealers of Lightning : XEROX PARC and the Dawn of the Computer Age, HarperBusiness, 1999

Une histoire étrange, racontée en détail ; moins bien écrit que "Hackers", dont il constitue la suite chronologique, mais tout aussi intéressant.

Ce livre décrit l’aventure des anciens " hackers " qui se sont regroupés au centre de recherche créé par Xerox dans la Silicon Valley : comment ils ont découvert quelques-unes des techniques qui ont permis l’épanouissement des micro-ordinateurs en réseau : le protocole Ethernet pour réseaux locaux ; l’affichage à l’écran par le moyen de fenêtres qui se superposent comme les feuilles de papier sur un bureau ; les langages orientés objet, avec Smalltalk. On découvre des personnages fascinants, comme Alan Kay ou Adele Goldberg.

On voit aussi la longue lutte de ces chercheurs contre l’entreprise qui payait leurs travaux, mais qui n’en fit jamais rien. Finalement, c’est Steve Jobs qui rafle la mise : il se fait présenter les recherches du PARC, lors de deux réunions mémorables en décembre 1979, et il les utilisera pour concevoir le Macintosh qui sortira en 1984.

Tracy Kidder "The Soul of a New Machine" Atlantic-Little, Brown 1981

Ce livre raconte les étapes de la conception du mini-ordinateur Eclipse MV/8000 lancé par Data General en avril 1980.

L'ordinateur est la machine la plus complexe que l'être humain ait conçue. Complexe non seulement dans ses couches physiques, ses processeurs, ses mémoires, ses câblages, où s'organise la circulation des électrons, se régulent les tensions électriques, se dessinent les bits et se réalisent en binaire et à toute vitesse les opérations de consultation des mémoires, calcul et écriture, mais aussi dans l'empilage des couches de langage nécessaires pour commander l'automate : microcode, assembleur, système d'exploitation, applications enfin. 

Conception, réalisation, intégration, déboguage, sont autant d'aventures qui s'articulent sous une contrainte de délai toujours présente, toujours violée, toujours renouvelée. La mise au point des langages et celle du matériel se renvoient la balle ; des spécialités diverses, aux psychologies contrastées, s'entrecroisent. Assurer la compatibilité du produit avec la gamme de l'entreprise, le respect des interfaces, suppose des compromis fondés sur le sens du marketing et du possible technique. 

Les hommes qui font ce travail sont des ingénieurs au sens complet du terme : ils réalisent de façon ingénieuse un travail d'ingénierie. Ils se trouvent au front de taille de la recherche pratique, au point où elle pose des problèmes intellectuels d'une extrême subtilité, où elle rencontre les limites des connaissances que nous avons sur la nature. Ce sont des rêveurs pratiques, des passionnés. L'argent n'est pas leur moteur : ils sont à la recherche de leurs limites, ils se lancent des défis ; ils ressemblent plutôt à des alpinistes. La limite qu'ils cherchent, ce n'est pas tant une limite étroitement personnelle et individuelle, qu'une limite humaine : ils veulent voir jusqu'où un être humain peut aller dans la clarté de la conception, la maîtrise de la complexité, la concentration de la pensée, la rapidité d'exécution, l'élégance de la démarche. Ce ne sont pas des égoïstes, mais des explorateurs dont la curiosité nous concerne tous.

L'animateur de l'équipe, Tom West, manifeste son respect pour ses collaborateurs en étant froid, distant ; "pas de tapes dans le dos", dit-il : mais il leur délègue des responsabilités qu'ils n'auraient jamais pu avoir ailleurs, et il conduit l'affaire vers le succès en grand stratège, tout en assumant le poids des reproches et des frustrations de l'équipe. 

On trouve dans ce livre la meilleure description intime de l'ordinateur, de la façon dont il est perçu, pensé, voulu par ceux qui le conçoivent. Les pages consacrées au microcode, à l'assembleur, à la conception des cartes, sont parmi les plus pédagogiques que j'aie pu lire.  L'articulation des couches dont l'ordinateur assure la synthèse devient intuitive, palpable. Les quelques paragraphes consacrés à l'intelligence artificielle sont parmi les plus... intelligents qui soient. 

L'ordinateur, c'est "la machine", la machine essentielle, la machine par définition ; automate programmable apte à tout faire, il constitue en effet le dispositif de commande de toute machine potentielle, dispositif dont les autres organes de la machine seront ensuite comme les bras, les mains, les capteurs sensoriels. 

Les concepteurs de l'ordinateur en restent au niveau général de "la machine" ; ils ne s'intéressent pas à ses utilisations potentielles, c'est un autre problème qui doit être traité par d'autres personnes à un autre moment que celui de la conception, mais ils veillent à la doter des performances qui la rendront efficace pour la plus grande diversité d'utilisations. Ils créent et balisent ainsi l'espace où doit se conduire une recherche postérieure à la leur : celle sur les usages, sur l'assistance qu'apporte "la machine" au travail humain organisé. Le livre, qui s'arrête au moment où "la machine" quitte les mains des ingénieurs pour passer dans celles des vendeurs (la rencontre entre les deux populations est décrite avec finesse et humour), ne considère pas cette autre phase de la recherche, celle qui se passe chez les utilisateurs, les clients, les intégrateurs. 

Steven Levy, Hackers, Delta Publishing, 1994

Livre d'histoire passionnant, qui se lit comme un roman, tout en étant très sérieusement construit.

Il s'agit de la deuxième édition d'un ouvrage publié en 1984, et enrichi d'un chapitre supplémentaire en 1994.

Les "hackers" dont parle Steven Levy ne sont pas les briseurs de codes, les fabricants de virus, les fraudeurs que ce mot évoque aujourd'hui, mais les pionniers de l'informatique personnelle. Le mot "hacker", en vieillissant, a pris une connotation négative qu'il n'a pas du tout dans ce livre.

L'informatique était, dans les années 60, l'affaire des professionnels style IBM, en costume, cravate noire et chemise blanche. Les utilisateurs n'étaient pas autorisés à approcher la machine. Ils tapaient leurs programmes sur des cartes perforées et passaient le paquet de cartes à travers un guichet ; puis, quelques heures ou quelques jours après, ils trouvaient le listing dans leur casier - et le plus souvent ce listing leur signalait une erreur dans le programme. Il fallait la corriger, puis taper les nouvelles cartes, passer le nouveau paquet de cartes à travers le guichet, et de nouveau attendre...

Les hackers (que d'autres ont appelé "hobbyists") voulaient enjamber cette procédure. Ils revendiquaient le droit de comprendre comment la machine fonctionne, d'y mettre les mains, d'y accéder, de travailler en temps réel, et de modifier la façon dont on utilisait l'ordinateur. L'équipe la plus flamboyante a été celle du MIT, puis par dissémination d'autres équipes de passionnés se sont créées. Ils ont mis au point des langages, des méthodes, ils ont inventé l'intelligence artificielle, etc.

Puis ils ont cherché à mettre l'ordinateur à la disposition de tout le monde. D'abord par la dissémination de terminaux, puis par la mise au point du micro-ordinateur. Levy raconte la naissance de l'Altair, machine dont la seule interface avec l'utilisateur était constituée d'une rangée d'interrupteurs et d'une rangée de lampes, et dans laquelle il fallait entrer le programme (langage machine codé en base huit !) lors de chaque utilisation, au point que les hackers avaient rapidement le bout des doigts calleux. Puis il raconte la naissance des Apple I et II.

Levy nous fait partager les rêves, les ambitions, de ces passionnés qui travaillaient trente heures d'affilée, et sacrifiaient leur hygiène et leur vie affective à l'exploration des possibilités offertes par l'ordinateur, au développement des outils qui permettaient de les élargir. Ils avaient une morale, "the hackers ethic", reposant sur quelques points fondamentaux : libre accès à la machine, liberté et gratuité des logiciels, coopération etc. L'émergence du commerce des logiciels a mis un terme à cette époque. Toutefois la créativité des hackers avait permis le démarrage d'une nouvelle économie.

Le livre de Levy date de 1984 (le complément apporté lors de la deuxième édition en 1994 ne comporte qu'un chapitre de mise à jour), mais il mentionne certaines des questions qui nous tracassent aujourd'hui. Si l'on a en tête un modèle en couches de l'informatique, on voit en effet se déplacer la "couche critique", celle qui se trouve sur le front de taille de la discipline. Il s'agissait dans les années 60 de mettre au point les langages facilitant la diversification des utilisations de l'ordinateur. La couche critique était celle du "software". Puis, dans les années 70, il s'est agi de mettre l'ordinateur dans les mains de chacun en développant un micro-ordinateur s'appuyant sur les microprocesseurs tout récents (la couche critique était celle du "hardware"). L'Altair arrive sur le marché en janvier 1975 ; il est offert en kit pour 397 $ (p. 190). Ensuite s'enchaînent les développements en logiciel et en matériel qui conduisent au micro-ordinateur en réseau d'aujourd'hui, avec ses interfaces graphiques, son équipement multimédia et l'Internet.

La couche critique maintenant est celle de l'utilisation, plus précisément de l'utilisation collective, organisée, du PC en réseau dans les entreprises et dans la société. L'utilisation individuelle pose des questions qui relèvent de la psychologie ; celles que pose l'utilisation collective relèvent de la sociologie et de la culture, ainsi que de l'organisation, et me semblent bien plus compliquées et plus riches. D'ailleurs l'utilisation individuelle ne peut se définir sans référence au contexte culturel, sociologique, organisationnel dans lequel l'individu est inséré. Sociologie et psychologie constituent deux couches, différentes mais solidaires, du même empilement.

Les héritiers des "hackers" des années 60 et 70, ce sont les personnes qui règlent aujourd'hui les questions que posent la maîtrise du langage de l'entreprise, l'organisation transverse, l'articulation du système d'information avec la stratégie, la modélisation des processus. Ces questions sont aujourd'hui sur le front de taille de l'informatique.

Richard E. Pattis, Karel the Robot, Wiley, 1995

Excellent petit livre pédagogique (et sympathique), qui présente la programmation comme un jeu.A lire impérativement : si vous ne lisez qu'un livre dans cette bibliographie, que ce soit celui-là.

C'est une introduction à l'art du programmeur. Elle permet de comprendre comment peuvent coopérer la puissance de la machine et le cerveau du programmeur (ou de l'utilisateur).

On part d'un jeu : il s'agit de commander un petit robot, appelé affectueusement Karel, qui se déplace dans un monde simple. Le plan de ce monde est un quadrillage, semblable aux rues d'une ville américaine ; Karel peut se déplacer dans ce monde en avançant d'un carré et en tournant d'un quart de tour sur lui même (ce qui lui permet de prendre des virages ou de faire des demi tours). Le chemin lui est parfois barré par un mur, qu'il ne perçoit que lorsque il est juste devant. Il porte enfin un sac contenant des balises qu'il peut déposer à certains carrefours.

Karel obéit, avec une précision et une bonne volonté infinies, aux ordres qu'on lui donne. Quand on lui donne un ordre impossible (avancer dans un mur, poser une balise alors que son sac est vide), il envoie un message et s'arrête. Bref : Karel est infiniment travailleur et patient, jamais rebuté par une tâche répétitive, mais il ne fait que ce qu'on lui ordonne, et ne sait prendre aucune décision.

Le programmeur de Karel dispose, lui, d'un langage de commande. L'auteur nous invite donc à programmer Karel. Il s'agit d'abord d'accomplir des tâches simples (parcourir une diagonale entre deux points, faire le tour d'un mur rectangulaire, etc.). Puis on fait un programme un peu plus difficile : faire sortir Karel d'une "pièce" rectangulaire entourée de murs percés d'une porte, quelle que soit la forme de la pièce, l'emplacement de la porte et l'emplacement initial de Karel, etc. Pour traiter tous les cas particuliers en un seul programme, il faut décomposer des tâches complexes en tâches élémentaires : nous voici dans la programmation structurée, avec les "subroutines" emboîtées, analogue à du Pascal.

En lisant ce livre on s'habitue à la coopération entre un programmeur humain, avec sa créativité, et un robot stupide mais d'une patience inlassable. L'intuition découvre le langage qu'il convient de parler à l'ordinateur si l'on veut qu'il obéisse : elle apprend à la fois à concevoir un tel langage, et à l'utiliser.

On entrevoit enfin les possibilités ouvertes à l'"être humain assisté par ordinateur", concept plus intéressant et plus puissant que ceux d'intelligence artificielle, ou d'automatisation, qui ont tant coûté et tant déçu.

Michael Sipser, Introduction to the Theory of Computation, PWS, 1997

Attention : c'est très mathématique ! à ne lire que si vous aimez cela. Ceci dit, c'est excellent.

La lecture de ce livre est une drôle d'expérience. Vous l'achetez parce que vous voulez régler un vieux compte avec la théorie de l'informatique : la machine de Turing, la théorie des langages, les algorithmes, la décidabilité, le fait qu'il n'existe pas de programme qui sache vérifier les programmes, le cryptage à clé publique, les ordres de grandeur qui distinguent le faisable (polynomial) de l'impossible (exponentiel), etc. Vous feuilletez le livre en soupirant : définitions, lemmes et théorèmes s'enchaînent, cela n'a pas l'air facile à lire. Mais comme vous êtes courageux et désireux d'apprendre, un soir vous vous y mettez. Et vous y passez la nuit ! puis le livre ne vous quitte plus : vous le lisez dans le métro, dans les salles d'attente, partout où vous avez un instant de tranquillité. Vous passez des soirées de lecture délicieuse.

Sipser est un grand pédagogue. Sans renoncer à la rigueur, il conduit le long d'un chemin facile, vérifiable ; en partant d'automates simples il fait découvrir les langages, les grammaires, la machine de Turing, la décidabilité, la récursion, la complexité dans le temps (durée des calculs) et dans l'espace (taille de la mémoire nécessaire), etc. Il est vrai qu'il faut revenir souvent sur ses pas pour se remémorer les résultats acquis, mais c'est bien le moindre des efforts que l'on puisse consentir.

La grande astuce de Sipser, c'est d'écrire deux fois la même démonstration : une fois en langage courant pour donner une idée générale (c'est ce qu'il appelle "proof ideas") ; la deuxième fois en notation formelle. Lorsque je lis un chapitre la première fois, je me contente des "proof ideas" pour avoir une idée d'ensemble. Puis je lis les démonstrations en entier pour me familiariser avec les notations.

Edmond Marc et Dominique Picard, L'école de Palo Alto, Retz, 1984

Ce livre décrit une méthode thérapeutique dont on peut s'inspirer dans l'entreprise. De façon délibérée, cette méthode tourne le dos à la recherche des causes et explications pour se concentrer sur les comportements observables. Procéder ainsi, ce n'est pas nier que les phénomènes psychologiques aient des causes ; mais c'est dire que pour les modifier il est souvent préférable de débloquer les habitudes et automatismes incorporés aux comportements : après quoi la personne "voit les choses" autrement et change pour de bon.

Un adolescent reste, malgré les observations de ses parents, désordonné et sale ; ils doivent faire son lit, ranger ses affaires, et ne supportent plus d'être ses domestiques. Le thérapeute leur conseille de changer d'attitude : au lieu de récriminer, ils s'agit de se mettre en position de faiblesse pour que l'autre soit incité à prendre l'initiative. Il leur conseille ainsi de laisser tomber des miettes de pain dans le lit de l'adolescent la prochaine fois qu'ils le feront. Lorsque celui-ci protestera, ils s'excuseront d'un air confus, et diront qu'ils ont mangé un sandwich en faisant le lit. Quelques jours après, l'adolescent juge plus expédient de faire son lit lui-même, modeste victoire qui lui fait découvrir le plaisir de mettre de l'ordre dans ses affaires.

Une assistante avait des rapports très tendus avec son patron qui la trouvait trop autoritaire. Le thérapeute conseille : "la prochaine fois que vous vous disputerez avec lui, demandez un entretien seul à seule, dites d'un air gêné : "vous me rappelez mon père, c'est fou ce que vous m'attirez sexuellement", et partez aussitôt". Dans les jours suivants les relations s'améliorèrent du tout au tout : elle avait tellement peur de devoir dire cette phrase qu'elle faisait tout pour éviter les disputes.   

On est ici aux antipodes de la psychanalyse ; on ne cherche pas à savoir pourquoi l'adolescent est désordonné, pourquoi l'assistante et le patron ne s'entendent pas, mais à supprimer le phénomène en jouant sur ses symptômes. Les techniques utilisées relèvent de la manipulation. Certains trouvent cela moralement douteux et irrationnel : mais qu'importe, si en pratique il faut faire l'économie de la raison et des habitudes "morales" pour résoudre le problème dans lequel les gens se débattent ?

Il arrive souvent, dans une entreprise, que les personnes soient coincées par une contradiction entre leurs habitudes et les exigences de leur mission. Ainsi une personne formée dans une structure hiérarchique, qui a l'habitude de transmettre des ordres vers le bas et des comptes rendus vers le haut, sera déconcertée si on lui confie une tâche où elle doit faire preuve d'imagination créatrice ; un informaticien habitué aux langages de programmation a du mal à tolérer le langage flou et ambigu dont se contente l'être humain, et s'exprimera avec une précision pédante ; un homme peu sûr de lui, sur la défensive, se donne un masque de dureté et d'autorité qui facilitera sa carrière et le fera grimper au dessus de ses capacités, après quoi il devra se défendre davantage encore etc.

Avec ces personnes, il est inutile de procéder par analyse de la situation, explication des causes, réflexion rationnelle. Par contre, on peut créer une situation telle qu'elles soient conduites à se comporter d'une façon différente : alors elles découvrent des possibilités qui leur étaient auparavant cachées ; ce sera pour elles le début de la libération, de l'exploration de facettes inconnues de leur personne et des relations qu'elle entretient avec les autres.

Michel Volle, e-conomie, Economica, 2000

Lien vers la version électronique : la table des matières est ici.