Le mot informatique a été créé en 1962 par Philippe Dreyfus. Il s’agit d’un néologisme de la langue française fait de la contraction des deux mots « automatique » et « information ». Pour parler du traitement automatique de l’information, les anglo-saxons utilisent les termes de « computer science » ou de « data-processing ».
L’informatique, comme discipline scientifique et technique, s’est déployée sur deux siècles environs : 19ème et 20ème siècle. Elle est liée à l’apparition des premiers automates et à la mécanisation : un processus de développement et de généralisation des machines qui a commencé au 18ème siècle en Europe avec l’industrialisation.
Nous devons la première programmation binaire (carton/trou) à Joseph-Marie Jacquard en 1801. Il s’agissait d’un procédé industriel visant à accroître la productivité des métiers à tisser.
En 1834, Charles Babbage, considéré comme l’authentique grand-père des ordinateurs modernes, invente la machine analytique en s’inspirant des cartons perforés de Jacquard. La machine analytique n’a jamais vu le jour de son vivant, car la Couronne britannique lassée de la longueur des recherches de Babbage a décidé de lui retirer son soutien financier. L’un de ses fils en construisit l’unité centrale (le moulin) et l’imprimante en 1888 et fit une démonstration réussie de calcul de table à l’Académie royale d’astronomie en 1908.
Le développement de l’informatique est lié à la recherche fondamentale en mathématiques et plus précisément à la logique et aux algorithmes mathématiques, apparus au début du 9ème siècle avec les travaux du mathématicien arabe Abu Jaffar Al Khawarizmi.
L’informatique a bénéficié en outre de l’introduction du calcul binaire en Europe vers 1697, grâce aux travaux Gottfried Wilhelm Leibniz , à la formalisation du principe des machines à calculer par Ada Lovelace en 1840 et à la théorisation de la logique binaire par George Boole en 1854.
Alan Turing, le père spirituel
En 1936, Alan Turing infirme la théorie de Kurt Gödel et démontre qu’on ne peut pas tout calculer de manière automatique. Il imagine pour sa démonstration un outil qui inspire encore le fonctionnement de nos ordinateurs. Une machine universelle qui manipule des informations – des lettres ou des chiffres – suivant des règles définies dans une table.
On peut la représenter comme un appareil qui comporte un ruban de papier de longueur infinie avec une succession de cases et un registre mémorisant l’état de la machine.
L’opérateur (une tête de lecture/écriture) peut lire ou écrire le contenu d’une case et se déplacer vers la case de gauche ou de droite. A partir d’un mot d’entrée noté sur le ruban, la machine va exécuter une instruction. Pour établir un parallèle avec nos ordinateurs actuels, la taille de la mémoire est représentée par la longueur du ruban et le temps de calcul par le nombre d’opérations à accomplir sur le ruban.
Les premières machines à architecture de von Neumann
La Seconde guerre mondiale qui était une guerre d’action et de mouvement a été déterminante dans l’avènement de l’informatique. Jusqu’à la fin de la guerre, le principe général d’organisation est booléen et copié sur la Pascaline conçue en 1641, réalisée en 1645. Les améliorations apportées concernent la vitesse de calcul.
Si l’histoire de l’informatique retient l’ENIAC comme étant le premier ordinateur fabriqué, l’historien des sciences George Dyson parle pour sa part de L’IAS, appelée aussi la machine de von Neumann et dont il est question dans son article fondateur décrivant l’architecture de l’ordinateur.
John von Neumann en supervisa la construction de la fin de 1945 jusqu’en 1951 au sein de l’Institut for Advanced Study. Julian Bigelow fût l’ingénieur chargé de construire cette machine destinée à un usage balistique. Les ingénieurs n’étaient pas des physiciens théoriciens, ils travaillaient au fer à souder et ce sont des femmes qui assuraient le plus gros de la programmation. La machine de von Neumann n’a jamais été brevetée contrairement à l’ENIAC qui a servi au même usage balistique. Alors que l’ENIAC faisait ses calculs en système décimal, la machine de von Neumann utilisait le système binaire. Tous les ordinateurs qui suivront seront calqués sur cette machine.
Les générations d’ordinateurs
Certains considèrent que la notion de « générations » est un concept marketing, lancé en 1964 par IBM, et n’a aucun intérêt historique. Il est cependant intéressant d’observer comment les ordinateurs se sont transformés au fil du temps, devenant toujours plus petits, plus puissants et plus conviviaux.
L’évolution des langages de programmation
Vis-à-vis des générations d’ordinateurs, il est possible de mettre en parallèle des types de logiciels. Ainsi à la première génération d’ordinateurs correspond le codage machine direct en binaire ; à la deuxième, le langage assembleur ; à la troisième, les langages évolués (Fortran, Cobol, Simula, APL, etc.) ; à la quatrième, les langages évolués de deuxième génération comme Pascal et C++, dit « structurés », ainsi que des langages « Objets« et des langages d’interrogation de très haut niveau comme SQL. Un projet de cinquième génération japonais avait été lancé par le MITI au tout début des années 1980 et devait être articulé autour des moteurs d’inférence et du langage Prolog, mais en dépit de budgets importants, le projet n’a jamais abouti.
L’interface Homme-Machine
Le domaine émerge aux USA dans les années 1980 avec la démocratisation de l’informatique et dans les années 1990 en France grâce à des chercheurs comme Joëlle Coutaz.
Nous devons l’interface utilisateur à Xerox qui a mis sur les rails le Palo Alto Research Center (PARC) à une époque où les ordinateurs personnels n’existaient pas encore.
En effet, quelques-uns chez le géant du photocopieur sentaient qu’il se passait quelque chose et que de nouveaux marchés pouvaient s’ouvrir. Il s’agissait d’aller explorer ce que C. Peter McColough, le directeur général de Xerox à la fin des années 1960 appelait déjà “l’architecture de l’information”.
La technologie des écrans informatiques profitant du développement de la télévision (couleur, réduction de l’encombrement et du coût, fiabilité) et la naissance des ordinateurs personnels a favorisé l’apparition des desktop environments.
C’est ainsi qu’en 1968, Douglas Engelbart, du Stanford Research Institute, présente un environnement graphique avec des fenêtres qui sont ouvertes et fermées via un pointeur relié à l’ordinateur par un fil : la souris, première interface homme-machine est née. L’interface graphique connaitra trois évolutions.
L’ère des Command Lines Interfaces (CLI) -1969-1983
Basée sur une interaction minimale en mode texte entre l’utilisateur et l’ordinateur. Les opérations d’entrée s’effectuent avec le clavier et en sortie, l’ordinateur affiche les résultats via l’écran ou l’imprimante sous forme textuelle.
Les utilisateurs des années 1970 étaient plutôt des ingénieurs et des informaticiens, et l’ordinateur était réservé à une clientèle élitiste et utilisé surtout en milieu professionnel. L’expérience utilisateur et les spécificités du grand public ne sont pas encore prises en compte à cette époque. Mais comme dans tout domaine, dès lors que la maîtrise technique est atteinte, le confort de l’utilisateur sera ensuite au centre des préoccupations.
L’ère des Graphical User Interfaces (GUI) – 1984 à aujourd’hui
L’interface graphique permet à l’utilisateur d’interagir avec l’ordinateur en manipulant des objets graphiques conventionnels grâce à un dispositif de pointage, le plus souvent une souris. Le contenu est présenté sous la forme WYSIWYG (« What You See Is What You Get »). Née au centre de recherche Xerox Parc à Palo Alto, elle est popularisée par Apple avec son ordinateur Macintosh. La GUI se base sur le paradigme WIMP : acronyme anglais pour « Windows, Icons, Menus and Pointing device », c’est-à-dire « fenêtres, icônes, menus et dispositif de pointage ». L’interaction devient symbolique (basée sur la métaphore des “fenêtres” comme contenants d’éléments) et l’apprentissage requis est nettement inférieur à celui des systèmes CLI. La majorité des systèmes d’exploitation à partir des années 1990 en sont dotés. Rendant l’usage simple et intuitif notamment pour les utilisateurs novices, elle a permis la naissance de « l’informatique grand public ».
L’arrivée des NUI : Natural User Interfaces
L’interface utilisateur naturelle, dite aussi Post-WIMP, est une interaction informatique émergente qui met l’accent sur les capacités humaines telles que le toucher, la vision, la voix et le mouvement. Elles sont une évolution majeure de l’interface homme-machine et vont devenir un mode d’interaction courant avec les nouvelles technologies. En supprimant la souris et le clavier (ainsi que le paradigme WIMP), l’utilisateur se libère des contraintes techniques initiales et c’est le contenu qui devient central et vecteur de l’interaction. L’interaction directe et intuitive facilite la diffusion rapide de ces nouveaux usages. Les écrans “touch screen » (Smartphone et Tablette) et d’autres objets comme « Microsoft Surface », « Sixth Sense » ou « Nintendo Wii » ont sont des exemples parlants.
Une deuxième conséquence de cette nouvelle intuitivité est le fait de pouvoir toucher de nouvelles populations d’utilisateurs, comme les enfants en bas âge (des tablettes spécifiques pour les plus petits qui font débat aux Etats-Unis risquent de débarquer en France courant 2014) et les seniors, traditionnellement rebutés par le clavier et la souris mais très intéressés par l’interaction tactile.
L’informatique ubiquitaire et dans les nuages
Le cloud computing, littéralement informatique dans les nuages, dont on nous prédit que ce sera l’avenir de l’informatique, désigne l’utilisation de serveurs distants (en général accessibles par Internet) pour traiter ou stocker de l’information. Les solutions de cloud computing ont de nombreux avantages mais c’est en réalité davantage une révolution économique que technologique, car le cloud computing est basé sur des technologies établies depuis longtemps.
Le cloud permet d’externaliser la puissance informatique et la capacité de stockage. Peut-on ainsi imaginer, à l’avenir, n’avoir plus besoin d’ordinateurs toujours plus puissants et des disques durs pour travailler et stocker ses données ? Pas vraiment. Car il faudra toujours un terminal pour présenter les données, avec un niveau d’ergonomie de plus en plus élaboré : réalité augmentée, 3D, etc.
Beaucoup de traitements sont réalisés dans le cloud, mais la sophistication grandissante des interfaces exige de la puissance en local. De plus, l’informatique contextuelle, à l’avenir, exigera que l’ordinateur sache dans quelle situation se trouve l’utilisateur qui, en retour, aura besoin d’interagir avec des systèmes de plus en plus intelligents.