Informatique

Les applications de l'ordinateur personnel

Courrier électronique, traitement de texte, tableur, base de données, moteur de recherche : ces logiciels, nés dans les laboratoires et les entreprises, sont entrés dans les foyers en quelques décennies. Cinq planches pour les voir fonctionner « de l'intérieur », chacune avec une version miniature et réellement opérationnelle de l'application : un filtre anti-spam, un logiciel de mise en page, un tableur, une base de données et un moteur de recherche.

Du bureau au salon, puis à la poche

Dans les années 1970, les ordinateurs appartiennent aux universités, aux administrations et aux grandes entreprises. Avec les micro-ordinateurs (Apple II en 1977, IBM PC en 1981, Macintosh en 1984), les logiciels arrivent sur le bureau, puis à la maison. En France, le Minitel (1982) fait découvrir à des millions de foyers l'annuaire en ligne et les messageries. À partir de 1995, Internet relie ces ordinateurs entre eux ; après 2007, le téléphone intelligent met les mêmes applications dans la poche, et les documents partent dans le nuage, sur des serveurs distants. Depuis 2022, des assistants fondés sur l'intelligence artificielle s'invitent dans chacune de ces applications.

Cinq familles d'applications et leurs grandes étapes, sur fond des époques successives de l'informatique personnelle. Survolez ou touchez un point pour lire l'événement.
Événement
—
Planche 1

La messagerie et le filtre anti-spam

1971 – 2002

En 1971, Ray Tomlinson envoie le premier courrier électronique entre deux ordinateurs du réseau ARPANET et choisit le signe @ pour séparer le nom de l'utilisateur de celui de la machine. Le courrier gagne le grand public avec les messageries gratuites sur le Web : Hotmail en 1996, Gmail en 2004. Avec lui arrive le spam, le courrier indésirable, qui a représenté certaines années la majorité des messages échangés. En 2002, Paul Graham popularise une parade mathématique : le filtre bayésien, qui apprend à partir d'exemples la probabilité qu'un mot apparaisse dans un spam. Écrivez un message, ou choisissez-en un, et voyez le filtre peser chacun de ses mots.

Le poids de chaque mot reconnu : vers la droite (rouge), il pousse vers « spam » ; vers la gauche (vert), vers « courrier normal ». Le poids est le logarithme du rapport des probabilités du mot dans les deux catégories.
La balance : le score total part de l'avis a priori (autant de spams que de messages normaux dans l'apprentissage), puis ajoute le poids de chaque mot. Positif : spam.
Verdict
—
Probabilité d'être un spam
—
Validation croisée : messages bien classés quand on les retire de l'apprentissage
—
Contrôle : scores des messages d'exemple calculés par Python
—
Ce qu'il faut retenir. Le filtre applique la formule de Bayes (1763) en supposant, naïvement, que les mots sont indépendants : il additionne simplement les logarithmes des rapports de probabilités. C'est faux, mais cela marche bien, et le filtre s'adapte tout seul quand on lui signale de nouveaux spams. Avec seulement 32 messages d'apprentissage, le nôtre se trompe une fois sur quatre ; les vrais filtres apprennent sur des milliards de messages et combinent de nombreux autres indices (expéditeur, liens, réputation des serveurs). Le courrier électronique reste fondé sur des normes ouvertes des années 1980 (SMTP, 1982), tandis que les messageries instantanées des téléphones (WhatsApp en 2009, puis bien d'autres) ont ajouté le chiffrement de bout en bout : seuls l'expéditeur et le destinataire peuvent lire les messages.
Planche 2

Le traitement de texte : couper les lignes

1974 – 1983

Avant le traitement de texte, corriger une faute obligeait à retaper la page à la machine à écrire. En 1974, le logiciel Bravo, au centre de recherche Xerox de Palo Alto, affiche à l'écran le texte tel qu'il sera imprimé : c'est le WYSIWYG (« ce que vous voyez est ce que vous obtenez »). Suivent WordStar (1978), puis Word (1983), et les traitements de texte des années 1990. Leur tâche la plus fréquente, et invisible, est de couper les lignes. La méthode simple, dite gloutonne, remplit chaque ligne autant que possible. En 1981, Donald Knuth et Michael Plass, pour le logiciel de composition TeX, cherchent plutôt la coupure qui rend le paragraphe le plus régulier dans son ensemble. Comparez les deux.

36

Méthode gloutonne

Méthode optimale (Knuth et Plass)

À droite de chaque ligne, en orange, le blanc qu'il faut répartir entre les mots pour justifier. La pénalité d'une ligne est le carré de ce blanc (la dernière ligne n'est pas pénalisée) : un grand trou coûte beaucoup plus que deux petits.

Pénalité totale : gloutonne / optimale
—
Nombre de lignes
—
Gain de l'optimisation
—
Contrôle : coupures calculées par Python pour les 3 textes et les 41 largeurs
—
Ce qu'il faut retenir. La méthode gloutonne ne revient jamais en arrière : une ligne bien remplie peut condamner la suivante à de grands blancs. La méthode optimale examine toutes les façons de couper, grâce à la programmation dynamique : en partant de la fin, elle calcule une fois pour toutes le meilleur coût possible à partir de chaque mot, ce qui évite d'énumérer les milliards de découpages possibles. Les traitements de texte courants coupent encore souvent de façon gloutonne, mais ils recalculent la page à chaque frappe, vérifient l'orthographe, gèrent les styles et, depuis Google Docs (2006), permettent à plusieurs personnes d'écrire en même temps dans le même document, dans le navigateur.
Planche 3

Le tableur : une grille qui se recalcule

1979 – 1985

En 1979, Dan Bricklin et Bob Frankston créent VisiCalc pour l'Apple II : une grille de cases, les cellules, contenant des nombres ou des formules qui font référence à d'autres cellules. Modifiez un nombre, et tout ce qui en dépend se recalcule aussitôt. Ce fut la première « application qui fait vendre l'ordinateur » : des comptables achetaient un Apple II juste pour VisiCalc. Lotus 1-2-3 (1983) et Excel (1985) prennent la suite. Modifiez une cellule ci-dessous : le tableur suit les flèches de dépendance pour savoir quoi recalculer, et dans quel ordre.

Touchez une cellule pour la modifier dans la barre de formule. Après validation, les cellules recalculées s'allument dans l'ordre du calcul ; les flèches vont d'une cellule vers celles qui l'utilisent.
Cellule choisie
—
Cellules recalculées, dans l'ordre
—
Contrôle : feuille d'origine calculée par Python
—
Ce qu'il faut retenir. Une feuille de calcul est un graphe : chaque formule crée des flèches depuis les cellules qu'elle lit. Pour recalculer, il faut un ordre topologique, où chaque cellule passe après celles dont elle dépend. Si une formule finit par dépendre d'elle-même, il n'existe pas d'ordre possible : c'est la « référence circulaire » que signalent les tableurs (essayez de taper =B7 dans la cellule B2 du budget). Le tableur a mis le calcul à la portée de tous : budgets, notes, simulations de prêts. Mais une formule fausse passe facilement inaperçue, et des erreurs de tableur ont déjà faussé des études économiques ou des comptes publics.
Planche 4

La base de données : des tables et des questions

1970 – 2000

En 1970, Edgar Codd, chercheur chez IBM, propose de ranger les informations dans des tables reliées entre elles par des numéros, et de les interroger par un langage qui dit ce que l'on veut et non comment le chercher : ce sera SQL, normalisé en 1986. Oracle, puis dBase et Access (1992) pour les ordinateurs personnels, MySQL (1995) pour les sites Web, et SQLite (2000), présente aujourd'hui dans chaque téléphone : sans le savoir, vous utilisez des bases de données des dizaines de fois par jour. Voici la petite base d'une bibliothèque, avec trois tables. Choisissez une requête ou écrivez la vôtre.

Les trois tables, reliées par leurs numéros (les flèches vont d'une colonne vers la table qu'elle désigne). Les colonnes utilisées par la requête sont surlignées et les étapes de son exécution s'affichent dans l'ordre réel du calcul.

Résultat

Lignes après FROM et JOIN / lignes du résultat
—
Message du moteur
—
Contrôle : même requête exécutée par SQLite (Python)
—
Ce qu'il faut retenir. Le mot-clé JOIN recolle les tables grâce aux numéros communs : chaque livre ne mentionne que le numéro de son auteur, et le nom de l'auteur n'est écrit qu'une fois, ce qui évite les incohérences. Le moteur exécute la requête dans un ordre différent de celui où on l'écrit : d'abord FROM et JOIN, puis WHERE, GROUP BY, HAVING, et seulement ensuite SELECT, ORDER BY et LIMIT. Le carnet d'adresses, la photothèque, les messages du téléphone, le catalogue d'un site marchand ou la liste de lecture d'un service de musique sont des bases de données. Les particuliers en créent rarement eux-mêmes, mais les logiciels de bureautique en proposent (Access, LibreOffice Base).
Planche 5 · signature

Un moteur de recherche en miniature

1990 – 2026

Les premiers outils pour retrouver des fichiers sur Internet (Archie, 1990), puis les annuaires faits à la main (Yahoo, 1994) et les premiers moteurs (AltaVista, 1995) classaient les pages surtout d'après les mots qu'elles contiennent. En 1998, Sergey Brin et Larry Page, à l'université Stanford, ajoutent une idée décisive avec Google : une page est importante si des pages importantes pointent vers elle. Cette importance, le PageRank, est la probabilité qu'un internaute qui clique au hasard sur les liens se trouve sur la page. Voici douze pages sur la Provence, reliées par des liens : le moteur calcule leur PageRank, puis combine la pertinence des mots et l'importance des pages pour classer les résultats.

30 %
Le petit Web : chaque disque est une page, d'autant plus grand que son PageRank est élevé. Le surfeur suit un lien au hasard dans 85 % des cas et saute vers une page quelconque dans 15 % des cas ; les compteurs donnent la part du temps passé sur chaque page.

Résultats

PageRank : itérations jusqu'à la stabilité
—
Surfeur aléatoire : clics / plus grand écart avec le PageRank
—
Contrôle : PageRank et classements calculés par Python
—
Ce qu'il faut retenir. La pertinence d'une page pour une recherche se mesure avec le score tf-idf : un mot compte d'autant plus qu'il est fréquent dans la page et rare dans l'ensemble des pages (« de » ne sert à rien, « arènes » beaucoup). Le PageRank, lui, ne dépend pas de la recherche : il se calcule une fois pour tout le Web, par itérations successives, et le surfeur aléatoire le retrouve par simple simulation. Avec un poids nul, le petit blog qui empile les mots-clés passe en tête ; le PageRank le fait reculer. Les vrais moteurs combinent des centaines de critères et, depuis 2023, ajoutent des réponses rédigées par l'intelligence artificielle, qui résument les pages au lieu de seulement les classer : une commodité pour l'internaute, mais un défi pour les sites qui vivaient des visites venues des moteurs.

Et aussi…

Le navigateur Web

Mosaic (1993), Netscape (1994), Internet Explorer, Firefox (2004), Chrome (2008) : le navigateur est devenu l'application principale, à l'intérieur de laquelle tournent messagerie, bureautique et services.

La photo et la musique

Photoshop (1990), le format MP3 (années 1990), iTunes (2001), puis l'écoute en ligne par abonnement : la retouche d'images et la musique sont passées du studio au salon, puis au téléphone.

La bureautique en ligne

Les suites de bureautique (Microsoft Office, OpenOffice puis LibreOffice, gratuites et libres) sont passées dans le navigateur : Google Docs (2006), Office en ligne. Les fichiers sont enregistrés dans le nuage et partagés.

Les assistants d'IA

Depuis le lancement de ChatGPT (novembre 2022), des assistants rédigent des courriels, résument des documents, écrivent des formules de tableur ou des requêtes SQL, et répondent aux recherches en langage courant.

Frise des jalons

Pour aller plus loin

Les scores du filtre, les coupures de lignes, les valeurs des feuilles de calcul, les résultats des requêtes (exécutées par SQLite), le PageRank et les classements ont été calculés en Python au moment de la fabrication de la page ; votre navigateur refait tous ces calculs et les compare.