Echec à Deep Blue

8 04 1996
(document publié dans le Mi-Chronique No 51 d’Avril 2006 et retrouvé en mai 2008 )

Le match d’échecs entre le champion du monde en titre Gary Kasparov et le super-ordinateur “Deep Blue” d’IBM a été largement commenté jusque dans la presse “populaire”. Vous vous souvenez sans doute que Kasparov, après avoir perdu sans appel la première partie a gagné les quatre suivantes. Nous n’allons pas ressasser l’éternelle discussion sur l’intelligence humaine et la stupidité artificielle (ou le contraire, je ne me souviens plus…) mais préciser quelques points techniques sur la programmation des jeux de stratégie en utilisant les échecs comme exemple. Les informations sur la programmation des échecs et “Deep Blue” sont tirées de l’article “Les impossibles en programmation des jeux” dans “Pour la Science” de juin 1995.

L’algorithme minimax.

Les programmes de jeu de stratégie utilisent tous un algorithme dit “minimax” pour évaluer le coup à jouer. Ils procèdent comme un joueur humain débutant en se “demandant” pour chaque coup :”si je joue ce coup, quelle sera la réponse de l’adversaire ?” En partant du principe que l’adversaire joue bien, il jouera le meilleur coup pour lui. Mon meilleur coup sera donc celui qui le forcera à jouer le plus mauvais pour lui, ou plus exactement le coup pour lequel la différence entre mon bénéfice et celui de l’adversaire sera le plus grand. Evidemment, pour juger quel coup l’adversaire jouera, il suffit au programme de renverser les rôles et d’examiner la situation qui résulterait pour l’adversaire d’un coup donné. On applique l’algorithme “récursivement” en considérant que le bénéfice des coups impairs (ceux du programme) doit être maximisé et celui des coups pairs (ceux de l’adversaire) minimisé.Si le programme trouve un coup tel que toute les réponses de l’adversaire mènent invariablement à sa perte, c’est gagné! Le problème, c’est que pour un jeu complexe comme les échecs, il est impossible d’évaluer tous les coups possibles jusqu’à la fin d’une partie.

L’explosion combinatoire.

En effet, l’application simple de l’algorithme “minimax” résulte dans une approche dite “force brute” qui consiste à analyser tous les coups possibles et les réponses à ces coups, puis les réponses à ces réponses etc. On doit donc explorer un “arbre” de coups. A chaque niveau d’analyse, chaque coup donne naissance à de nombreuses réponses possibles à analyser. Pour les échecs, le nombre de coups possibles selon les règles du jeu lors d’une partie “standard” tourne autour de 36 en moyenne. En évaluant un seul échange, on se retrouve avec 36×36=1296 situations à analyser. Un coup de plus et c’est 46656 puis 1′679′616 à la fin du deuxième échange déjà. “Deep Blue” applique “minimax” sur 11 coups ce qui mènerait à près d’un milliard de milliards de situations à évaluer.Ce phénomène est nommé “explosion combinatoire” : le nombre de calculs augmente comme une exponentielle et devient inimaginable : “Deep Blue” a beau évaluer près d’un milliard de coups à la seconde selon ses constructeurs (je doute toujours…), il lui faudrait 32 ans pour explorer l’arbre en entier sur 11 coups…A noter aussi qu’e mettant plein de processeurs en parallèle, on n’accélère qu’un tout petit peu la moulinette : il faudrait 1296 processeurs pour gagner deux coups de profondeur d’analyse dans un temps donné ou réduire à 10 jours l’analyse sur les 11 coups de “Deep Blue”…

L’élagage alpha-beta.

Pour limiter l’explosion combinatoire, une seule solution : limiter le nombre de coups à examiner. C’est là qu’interviennent les apôtres de l’intelligence artificielle : ils proposent tout naturellement de ne pas examiner plus avant les coups “stupides”. Oui mais voilà, qu’est-ce qu’un coup stupide ? C’est un coup qui provoque une telle perte pour le programme qu’il paraît impossible de gagner après ça. Par exemple si on s’aperçoit qu’en avançant tel pion, on sera condamné à perdre la reine quatre coups plus tard, on abandonne.Mais il faut se rappeller que le même algorithme “minimax” est utilisé pour évaluer les coups de l’adversaire. On part donc de l’idée que l’adversaire ne jouera pas de coups sucidaires. S’il en fait quand même, on étudiera la question à ce moment là…

La fonction d’évaluation.

Une autre conséquence du fait qu’on ne peut explorer l’arbre entier, c’est que l’on doit “juger” une situation intermédiaire, être capable de dire “cette situation vaut mieux pour moi que celle-ci”. Numériquement, il faut attribuer une “note” chiffrée à une situation sur l’échiquier. Et ça, c’est pas de la tarte. Si vous montrez un échiquier à un débutant, il va tout de suite appliquer “minimax” intérieurement pour vous dire si cette situation est bonne ou pas. C’est ce qu’on veut éviter avec le programme. On voudrait plutôt s’approcher du champion qui d’un seul coup d’œil vous dit si c’est bon ou pas. Bon, s’il y a un roi entouré de deux fous, deux tours et trois cavaliers ennemis, même moi je peux vous dire que c’est mal barré… Mais pour juger une situation de milieu de partie, tout l’a priori humain entre en jeu.Au niveau des grands programmes d’échecs, il est connu que, poussés au limites, c’est la fonction d’évaluation de leur(s) programmeur(s) qui transparaît. On doit donc associer de très bons joueurs d’échecs à l’écriture d’un programme.

Kasparov a (encore) gagné.

L’ancêtre de “Deep Blue” s’appelait “Deep Thought” (pensée profonde) et a été classé au niveau du 250ème joueur mondial en 1990. “Deep Blue” s’est mesuré au premier mondial, mais sa nette défaite montre qu’il n’est pas encore à la hauteur des tous premiers joueurs, surtout que Kasparov l’a eu comme un pro qu’il est. En effet, la connaissance de l’adversaire est essentielle aux échecs et il ne fait pas de doute que Kasparov est informé sur le mode de calcul des programmes. Il est clair que pendant la première partie il a testé les fonctions d’élagage en prenant des risques et certain qu’il a pu apprécier la “personnalité” de la fonction d’évaluation. Dans les parties suivantes, ses nombreux sacrifices ont à chaque fois servi à masquer des manoeuvres subtiles qui l’ont amené à la victoire.

Let’s Go!

Dans les années septante, un millionnaire américain a offert un prix aux auteurs des programmes qui deviendraient champions du monde avant l’an 2000 dans les trois jeux les plus répandus sur terre : le Backgammon, les Echecs et le Go.Au début des années 1980 déjà, un programme devenait champion de Backgammon. Dans ce jeu, l’aspect aléatoire introduit par les dés est extrêmement facile à prendre à compte par un ordinateur, mais un humain est en général très peu capable de calculer de complexes probabilités.En ce qui concerne les échecs, le suspens est certain. Les auteurs de “Deep Blue” vont tirer les enseignements du match contre Kasparov et revenir à la charge avec des moyens énormes et je dois dire que si je n’ai pas parié grand chose sur Kasparov ce coup-ci, je pense que le “Truc Blue” à venir a de grosses chances.Par contre, pas de souci en ce qui concerne le Go. Avec des pierres blanches et noires à poser où on veut sur un damier de 17×17=289 cases, l’explosion combinatoire est garantie sur facture, l’élagage quasi impossible (il n’y a pas de coup “bête” au Go…) . Le seul espoir est au niveau de la fonction d’évaluation, mais pour battre le champion du monde, il faudra faire une vraie “Intelligence artificielle”. Allez, je rajoute 100 balles à la prime pour celui qui fait un programme de Go champion du monde avant l’an 2100. Carrément.

Goulu le roi des fous.





Petit Lexique INTERNET à l’usage des mal branchés.

8 04 1996

(documents publiés dans le Mi-Chronique No 51 à 53 d’Avril 1996 à Février 1997 et retrouvés en mai 2008 )

Dans un dico normal, les mots sont rangés par ordre alphabétique. Comme de plus en plus de gens ne savent pas l’alphabet, y compris les américains pour lesquels le “æ” est compris entre le “å” et le “ç”, ce qui ne facilite pas la recherche de ma copine Lætitia sur INTERNET, je n’insiste pas et vous propose quelques notions d’internautes en commençant par les notions les plus “bas niveau” sur lesquelles INTERNET est basé et dont vous n’avez tellement rien à faire que vous pouvez les oublier à peine lues, et en terminant par les derniers développements disponibles en bêta version pour les initiés, c’est-à-dire complètement démodés l’année prochaine. Bref, les tuyaux utiles sont au milieu de l’article, le reste c’est du remplissage.

Paquet.

Toutes les informations circulant sur INTERNET sont groupées en paquets de taille variant entre quelques octets et quelques Ko maximum. Un paquet contient de l’information venant d’un expéditeur vers un destinataire, le protocole TCP étant responsable de son acheminement. TCP utilise pour ceci uniquement l’adresse IP du destinataire qui figure en entête du message. Si une grosse information est divisée en multiples paquets, les paquets sont numérotés et le message est recomposé par TCP à la fin de son périple, qui peut être rendu mouvementé par les aléas du routage.

Routage.

INTERNET est un réseau “maillé” comme son ancêtre ARPANET. Ceci signifie qu’il existe en principe plusieurs chemins possibles pour les paquets entre deux points quelconques du réseau. Les noeuds de la toile d’araignée sont chargés de décider par quel chemin un paquet doit passer en fonction de l’état de charge des liaisons utilisées entre noeuds. On ne sait donc pas à l’avance par où passera un paquet entre deux points, c’est décidé dynamiquement.

Noeud.

Les noeuds sont les points ou les liaisons INTERNET se connectent et où le routage s’effectue. Comme les objectifs stratégiques d’ARPANET ne sont pas cruciaux pour INTERNET, la structure du réseau n’est vraiment maillée qu’au niveau international et intercontinental. Les noeuds locaux, par exemple votre fournisseur de service ne fait que router que le trafic de quelques modems vers un noeud régional qui envoie tout ça au national et là ça devient assez maillé, bien que presque tout le trafic international passe par le noeud continental d’Amsterdam. En principe, un noeud devrait être connecté en permanence aux diverses liaisons pour garantir le routage. S’il tombe en panne, pour autant que le réseau soit suffisamment maillé dans le coin, aucune information ne sera perdue. Ca sera peut-être un peu plus lent, c’est tout.

ARPANET.

Ancètre d’INTERNET, ARPANET est le réseau de communications militaires des USA, spécialement conçu pour résister à une destruction massive (nucléaire) de certains de ses constituants. C’est un réseau totalement décentralisé et fortement maillé, contrairement aux réseaux locaux genre ETHERNET qui reposent sur un seul câble.

Modem.

C’est le bidule qui permet à ton ordinateur de téléphoner, eh!. Si t’en as pas u qui crache à 14′400 bauds, t’oublie INTERNET, mec!. Si tu veux être dans le coup, tu peux toujours la jouer ISDN.

ISDN.

Avec le “integrated services digital network” “réseau numérique à intégration de services” (RNIS), les PTT du monde civilisé ont entrebaillé la porte du numérique aux privés : sur une ligne téléphonique normale on peut désormais brancher des tas d’appareils numériques comme des modems crachant à 64′000 bauds, des fax incroyablement rapides et même des téléphones qui vous affichent le numéro de votre belle-mère avant même que vous ne décrochiez pas. En Suisse, les PTT appellent ça “SWISSNET” et ça coûte comme deux lignes téléphoniques. Ce genre de connexion est beaucoup utilisée par les petits fournisseurs de service locaux car elle leur permet de servir une dizaine de modems très facilement.

ETHERNET.

Y’en a toujours qui confondent avec INTERNET. Ca n’a rien à voir. Ethernet est un système de réseau local actuellement très utilisé et consistant à mettre plusieurs ordinateurs en vrac sur un câble. Ils se causent quand ils veulent et si deux parlent en même temps (collision), ils s’interrompent et recommencent au bout d’un temps aléatoire. En fait tout ça a commencé aux îles Hawaï où l’université a fait un réseau baptisé ALOHA pour communiquer entre les îles. On utilisait des ondes radio, d’où ETHER-net. Maintenant, c’est bien sur des réseaux ETHERNET que le protocole TCP-IP a pris son essor.

TCP-IP.

“Transfer Control Protocol” et “Internet Protocol” sont les piliers du système postal d’INTERNET permettant le routage des paquets jusqu’à leur destinataire. Chaque heureux participant à INTERNET, vous, moi, le fournisseur de services, AltaVista et les autres est identifié par une adresse IP qui n’avait que 32 bits jusqu’à récemment, maintenant je sais plus. Comme c’est pas facile d’identifier les gens par un nombre entre 0 et 4′294′967′295, on a pris d’abord la convention de le découper en 4 octets notés en décimal séparés par des points, style 128.178.4.56. L’astuce c’est que les adresses sont pas distribuées au hasard mais selon des zones géographiques, ce qui facilite vachement le routage dans les noeuds. En effet, le premier octet correspond vaguement aux continents, le second au pays, le troisième et le quatrième au réseau local. Bien sur, tout ça n’est toujours pas très pratique, alors on a introduit les serveurs DNS qui permettent d’utiliser des adresses sous forme de texte.

DNS.

Les “Domain Name Servers” sont des sortes d’annuaires donnant l’adresse IP numérique correspondant à une adresse sous forme texte. Comme leur nom l’indiquent, les DNS ne connaissent qu’un “domaine” limité d’Internet, mais ils connaissent aussi d’autres DNS à qui demander un coup de main si on cherche une adresse distante. Exemple : si je cherche l’adresse de www.microsoft.com (pour dire vraiment n’importe quoi) et que je demande à mon pauvre serveur DNS romand, il va lire l’adresse à l’envers : “.com” c’est aux USA, donc il connaît pas, donc il demande un coup de main au DNS suisse, qui demande à Amsterdam, qui demande aux USA qui demande à Seattle, lequel me renvoie gentiment l’adresse IP.

Fournisseur de services.

Petits noeuds locaux qui offrent un accès par modem aux particuliers. En fait, ces noeuds sont les plus petits qui soient : ils n’ont souvent qu’une à une dizaine de lignes téléphoniques en entrée et routent le trafic sur une ou deux lignes ISDN à destination d’un noeud un tout petit peu plus grand qu’eux. A part les modems et les lignes, un tel noeud ne requiert en fait qu’un “petit” ordinateur tournant de préférence sous UNIX (les outils sont les plus sophistiqués et les moins chers : domaine public!). En fait, les privés n’ont besoin que d’un compte sur cette machine, ce qui signifie un accès très similaire à celui qu’on peut avoir sur un BBS. Après connexion en mode texte, on démarre une connexion SLIP ou PPP qui nous branche vraiment à INTERNET. Pour le prix d’un abonnement mensuel (actuellement env. 30.- / mois) on obtient aussi une adresse e-mail et certains fournisseurs vous permettent même de créer vos pages WWW sur leur machine. Le meilleur deal à Genève, c’est d’acheter un PC chez Infomaniak : on a deux ans d’accès à INTERNET gratuits par chez eux…

SLIP.

A ne pas confondre avec TANGA ou STRING. “Serial Link Internet Protocol”, une manière de passer des paquets sur une ligne série, donc par modem.

PPP.

“Point to Point Protocol”. Il faut bien réaliser qu’un vrai “branché” à INTERNET doit y rester connecté tout le temps : si on essaie de lui envoyer un paquet pendant qu’il est pas là, l’info se perd. Avec un modem, on n’est pas vraiment branché, on est utilisateur d’une machine appartenant au fournisseur de services, mais il nous faut quand même une adresse IP, sinon comment un expéditeur pourra-t-il faire la différence entre les 1548 abonnés au même fournisseur de services, hein ? Mais on peut pas non plus réserver 1548 adresses IP pour tous ces gens, y’en a que 10 au max. Qui seront branchés en même temps. Alors PPP attribue dynamiquement les 10 adresses aux gars connectés. Autrement dit, à chaque fois qu’on se connecte, onreçoit une adresse valable pour la durée de la connexion. La prochaine fois qu’on se connecte, on en reçoit une autre.

e-mail.

La plus belle invention depuis le timbre poste. E-mail permet de s’envoyer des messages entre utilisateurs d’INTERNET. L’adresse du destinataire est de la forme “pgugliel@infomaniak.ch” où l’arrobase (at…) signifie “… utilisateur de la machine …”. Si vous vous connectez par modem, c’est la machine de votre fournisseur de services. Chaque machine a une adresse IP propre à son entrée e-mail, gérée par un serveur SMTP (Simple Mail Transfer Protocol) qui, lorsqu’il reçoit un paquet qui a l’air d’un e-mail, ellle regarde le nom de l’utilisateur et dépose le message dans sa boîte, en attendant qu’il veuille bien se connecter pour lire ses messages. Certains gourous d’INTERNET n’utilisent que le e-mail. En effet, certaines astuces permettent de transférer des fichiers par FTP et même de lire des pages WWW par e-mail uniquement. De plus l’accès à de nombreux groupes de news usenet est possible via les mailing-lists. Pour faire tout ça, on commence à avoir besoin de logiciels un peu musclés. Sur PC, outre le très bon Exchange livré avec Windows 95, on trouve aussi Eudora dans le domaine public. De plus, des browsers comme Netscape gèrent aussi e-mail.

Mailing-lists.

Les mailing lists sont des listes de destinataires de messages e-mail. Elles permettent d’envoyer un message à plein de destinataires. Des petits futés ont bricolé un système qui permet d’ajouter automatiquement l’adresse de quelqu’un à une liste, puis d’envoyer tous les messages qu’ils reçoivent aux inscrits, voire de les collecter en un seul message envoyé tous les jours. Il existe ainsi des centaines de listes de distribution associées à des tas de thèmes plus ou moins intéressants. Pour s’inscrire, il suffit pour la plupart d’envoyer un message e-mail à une adresse ‘majordomo@la.machine.qui.soccupe.de.la.mailing.list’ et de mettre soit dans le titre du message soit dans le texte du message (je le mets dans les deux…) le mot “subscribe”. Et voilà!. Ensuite, chacun peut poster des messages à la machine en question, répondre à d’autres messages etc. en utilisant une autre adresse e-mail. L’avantage de ce système sur les news usenet c’est qu’il y a moins de bordel, de pub car seules les personnes intéressées “subscribent” et on peut les retrouver facilement. L’inconvénient, c’est qu’il faut pas faire le con : le mec qui a une fois inclus un fichier binaire de 2Megas à son mail à la mailing list sur LabView se souvient encore de la bordée qu’il s’est pris de centaines d’utilisateurs qui ont reçu ça, qui ont planté leur e-mail et compagnie…

News Usenet.

Il existe des milliers de groupes plus ou moins d’intérêt sur tous les sujets possibles et imaginables sur cette planète et les autres. Chacun peu librement, sans aucune restriction d’accès lire les millions de messages “postés” et en écrire sans aucun contrôle. C’est en train de devenir le bordel complet, inutilisable, à moins de ne s’intéresser qu’à une branche particulière de la physique théorique. Ce système est géré par un système complexe de serveurs NNTP fonctionnant par un système d’abonnement : chaque serveur offre au reste du monde quelques newsgroups locaux et s’abonne à ceux du reste du monde qui peuvent intéresser les utilisateurs locaux. Le serveur NNTP maintient les textes des messages locaux et n’en transmet que les titres à ses abonnés. Il reçoit donc les titres des groupes auxquels il est abonné et offre donc instantanément à ses utilisateurs la liste de ces titres. Une fois un message potentiellement intéressant repéré, il faut le demander au serveur qui va le downloader du serveur propriétaire du groupe. Il existe des tas de logiciels pour lire les news. Pour les utilisateurs se connectant par modem, le meilleur est “Free Agent” qui comme son nom l’indique est shareware. Il est le seul actuellement qui permette de downloader automatiquement les messages de newsgroups choisis pour pouvoir les lire et y répondre off-line. Pour l’utilisateur occasionnel, les browsers comme Netscape vont très bien.

FTP

Le “File Transfer Protocol” permet de transférer des fichiers à travers le réseau. Là vous sentez que ça commence à devenir intéressant en même temps que dangereux… En fait, pour “pomper” un fichier sur une autre machine il faut:

  1. Que vous ayez le droit de vous connecter à ce serveur, avec nom d’utilisateur et password.
  2. Que la machine de destination ait un “serveur FTP” qui soit capable de répondre à vos commandes (du genre DIR, COPY etc.)
  3. Que vous soyez l’heureux possesseur d’un logiciel “client FTP” qui envoie au serveur les commandes ad-hoc pour transférer les fichiers. A noter que les bons browsers comme Netscape font en général aussi office de clients FTP.

En pratique donc, 3 ne pose pas de problème, 2 non plus parce que toutes les machines plus ou moins sérieusement connectées à INTERNET sont munies de serveurs FTP, reste plus que 1.

Là y’a ce qu’on appelle le “loguine anonymousse” (anonymous login in English). Beaucoup de machines offrent un accès très limité (en général lecture seule sur certains répertoires) à tout utilisateur dont le nom est “anonymous” et qui a la netiquette de donner son adresse e-mail comme password. Cette astuce permet de donner en accès public des fichiers, donc de faire une sorte de BBS sur le réseau. Bien sur, z’allez me dire que c’est la Mecque du parfait pirate. Je répondrais que (hélas) non parce que c’est très facile d’une part de localiser géographiquement un serveur qui violerait la loi (reste à savoir laquelle) et d’autre part de tracer le petit malin qui s’y connecterait soit pour downloader soit pour uploader des cochonneries, parce que, n’est-ce pas, le piratage du soft c’est ringard, maintenant ce qu’il fait c’est de la pornographie, du sexe, de la violence. (Voilà, c’est fait, ya ces mots sur la page Web du Microclub donc tous ceux qui vont cherche “sex” ou “porn” sur AltaVista vont trouver cette page! Youpie!)

Bon alors FTP ça sert à quoi en pratique ? Ben:

  1. A pomper du shareware, et yen a des gigatriffouillées de terabytes un peu partout, a tel point qu’un truc comme Archie c’est vraiment utile.
  2. A uploader vos belles pages WWW chez votre fournisseur de services.
  3. A servir de base au protocole HTTP.

Archie

Un gros problème d’INTERNET qui n’est pas prêt de se résoudre est celui de la bande passante, autrement dit de l’utilisation rationnelle des lignes de communication. Un des plus anciens efforts pour optimiser quelque peu les transferts est le projet Archie. L’idée est que les (gros) serveurs qui offrent des fichiers publics par FTP transmettent une liste de ces fichiers à des serveurs “Archie” (comme archives) qui sont capables de communiquer entre eux. Lorsqu’un utilisateur a besoin d’un fichier donné, il se connecte à un serveur Archie proche de chez lui et fait une recherche. Le serveur lui renvoie les adresses complètes (machine+path+filename) des serveurs qui ont ce fichier et il choisit le plus proche de chez lui.

Il existe des “clients Archie” très bien interfacés avec des “clients FTP” : Sous Windows95 on fait une sorte de recherche de fichier comme s’il était sur la machine locale, puis on drague-droppe ou double-clique pour le copier en local par FTP.

WWW

Faut vraiment que je vous explique ce qu’est le “World Wide Web” ? Aujourd’hui quand le pékin te parle INTERNET il te parle du WWW. Il sait pas la différence. Un peu comme un gars qui t’expliquerait que la télé, c’est une antenne avec une télécomande.

“World Wide Web” ça veut dire “toile d’araignée mondiale” et ça décrit de façon assez réaliste la situation de l’information disponible sur Internet depuis que le CERN a publié sur Internet des documents écits en HTML et diffusé partout le premier browser, Mosaic. Avec cet outil, il est devenu possible de surfer l’information et c’est sans aucun doute ce qui a permis de lancer INTERNET dans le marché public.

Surfer

Naviguer sur le WWW en suivant les liens sans se soucier de la localisation géographique, ni même de l’identité des serveurs sur laquelle elle se trouve.

Comme le surf aquatique, ç’est une passion dévorante et qui donne soif. Par contre, cette activité est coûteuse, mais peu dangereuse et n’attirera absolument pas du tout les nanas avant que j’aie enfin trouvé un fabriquant pour mon idée de tubes cathodiques renforcés dans l’ultraviolet.

HTML

L’”HyperText Markup Language” est le format des documents WWW. C’est simplement du texte avec des “tags” permettant de définir le formattage (titres, listes, etc) d’inclure des images etc. mais surtout des liens vers d’autres documents. En fait, il suffit de taper le nom d’un serveur HTTP à l’autre bout de la planète suivi du nom du fichier auquel on veut se référer et l’utilisateur y aura accès rien que d’un click sur un mot ou une image.

Le format HTML devrait être standard, mais avec le boum du WWW et la compétition acharnée entre les browsers, chacun y va de sa petite extension et de sa petite variante. Actuellement, la tendance est résolument “interactive” et “multimédia”. On peut maintenant insérer des sons, animations, voire des mondes virtuels en 3D au beau milieu de pages qu’on peut découper en “frames” etc. . Il va falloir faire de l’ordre dans tout ça mais ça sera pas facile.

HTTP

Là mes petits amis, je dois avouer mon incapacité à vous dire exactement en quoi HTTP diffère de FTP. HTTP c’est “Hyper-text transfer protocol” et ça sert à naviguer sur le WWW. Comme le WWW marche en copiant les pages (et les fichiers auxiliaires) sur la machine du client, en fait c’est exactement comme une sorte de couche par dessus FTP.

Je suspecte que HTTP est un peu plus malin en ce sens qu’il regarde le code HTML des pages auxquelles on accède et voit qu’il faut transmettre avec des fichiers annexes comme les images, les sons etc. Ce qui est sur, c’est qu’il doit supporter les “scripts CGI

CGI Scripts

Il existe des serveurs HTTP extrêmement malins qui “fabriquent” des documents au moment où on les demande. Une application commune est le compteur du nombre d’accès que vous trouvez dans bon nombre de pages WWW. Si vous les regardez bien, vous verrez que c’est des images. En fait, un script CGI fabrique l’image (en concaténant des images de digits) au moment où il y en a besoin.

Beaucoup plus complexes sont les Search Engines comme AltaVista qui n’ont pratiquement aucune page WWW fixe, prédéfine, mais qui les génèrent entièreemnt au rythme des mesoins. On peut donc tout faire en CGI, mais il faut que le serveur soit d’accord qu’on fasse tourner du code chez lui… Avec Java, JavaScript et les autres, c’est le client qui va trinquer…

Browser

Le browser est le logiciel “client” que vous utilisez en ce moment pour admirer cette belle page sur le web. Si vous êtes devant un papier jaune, vous trouverez un browser sur n’importe quel CD-ROM fourni avec n’importe quelle autre revue d’informatique au kiosque du coin.

Actuellement, la bagarre est terrible entre le Netscape Navigator et le Microsoft Internet Explorer. Alors que Bill ne croyaint tellement pas à Internet qu’il n’a introduit le protocole TCP-IP

Search Engines

qui sont en fait des énormes bases de données et qui interprètent une requête en générant le HTML qui produit la page WWW avec les résultats.

AltaVista

Java, JavaScript, ActiveX

Netiquette

Goulu le câblé