bas de page
 

Les origines de l'informatique

Gilles Dowek
 

Les quatre concepts de l'informatique

   Une manière, parmi d'autres, de s'interroger sur la nature d'une science ou d'une technique est de s'interroger sur les objets que cette science étudie ou que cette technique fabrique. Dans le cas de l'informatique, cette investigation mène à un résultat inhabituel, car l'informatique porte sur des objets très différents les uns des autres : des algorithmes, des machines, des langages et des informations.

   Rechercher les origines de l'informatique demande donc de rechercher les origines de ces quatre concepts. De se demander, par exemple, s'ils ont été créés par l'informatique ou s'ils la précèdent et, dans le second cas, s'ils étaient déjà liés avant la naissance de l'informatique ou non.

   Le résultat de cette enquête est que ces concepts sont tous antérieurs à l'informatique, mais que l'informatique les a complètement renouvelés et, surtout, articulés en une science et une technique cohérente. Cette pluralité conceptuelle, qui est peut-être la grande originalité de l'informatique, est à l'origine d'une pluralité de visions de l'informatique et d'une pluralité de ses mythes fondateurs.

Les algorithmes

   Le concept d'algorithme est l'un des plus vieux de notre culture, puisque les scribes de Mésopotamie et d'Égypte utilisaient déjà des algorithmes pour effectuer des additions et des soustractions, des multiplications et des divisions, mais aussi des opérations plus complexes, par exemple des calculs d'intérêts composés, d'héritages et d'aires de parcelles agricoles.

   Un algorithme est un procédé qui permet de résoudre un problème de manière systématique. Par exemple, nous connaissons au moins deux algorithmes pour résoudre le problème de la recherche d'un mot dans un dictionnaire. Le premier consiste à comparer successivement le mot recherché à chacun des mots du dictionnaire, depuis le premier jusqu'au dernier. Le second consiste à comparer le mot recherché au mot médian du dictionnaire et, si ces deux mots sont différents, à éliminer une moitié du dictionnaire ou l'autre, puis à recommencer avec le demi-dictionnaire restant. Ce second algorithme, par dichotomie – dikha : en deux, tomia : couper –, est beaucoup plus rapide que le premier : si le dictionnaire contient soixante mille mots, par exemple, le premier algorithme peut demander jusqu'à soixante mille comparaisons, mais le second en demande seize au plus.

   Pour bien saisir ce concept d'algorithme, il est important de comprendre que tous les problèmes ne peuvent pas nécessairement être résolus par un algorithme. En particulier, si le problème de la recherche d'un objet dans un ensemble fini – tel un dictionnaire – peut souvent être résolu par un algorithme, ce n'est pas toujours le cas de celui de la recherche d'un objet dans un ensemble infini. Par exemple, il n'y a pas d'algorithme qui indique si une équation algébrique, comme x2 + y2 = z2, a une solution ou non dans le domaine des nombres entiers. Une fois une solution trouvée, par exemple x = 3, y = 4, z = 5, il est facile de vérifier que 9 + 16 = 25, mais tant que l'on n'a pas trouvé ces nombres, il n'y a pas de méthode systématique qui permette d'en organiser la recherche.

   On peut définir le concept d'algorithme de manière à y inclure tous les procédés systématiques qui permettent de résoudre un problème, indépendamment de la nature des objets sur lesquels porte ce problème. Dans ce cas, les recettes de cuisine, les procédés de cuisson de la céramique... sont des algorithmes. Mais on réserve souvent ce mot aux procédés systématiques qui s'appliquent, non à de la farine ou à de l'argile, mais à des symboles : des lettres, comme dans le cas de la recherche d'un mot dans le dictionnaire, des chiffres, comme dans le cas de l'algorithme de l'addition...

   Si les mathématiques grecques, ainsi que les logiques aristotélicienne et mégarique, sont essentiellement en rupture avec les pratiques algorithmiques des scribes de Mésopotamie et d'Égypte – bien que la situation soit plus complexe, car il existe aussi des algorithmes dans les mathématiques grecques, tels ceux d'Euclide ou d'Ératosthène –, les algorithmes sont, au Moyen Âge, à nouveau au centre des préoccupations des mathématiciens indiens et arabes, en particulier avec la généralisation de la numération à position et avec les prémices de l'algèbre. Le mot algorithme vient d'ailleurs du nom du mathématicien perse de langue arabe, Al-Khwârizmî, qui vivait au IXe siècle. Les algorithmes sont aussi au centre de certains développements des mathématiques de l'époque moderne, en particulier du calcul différentiel et intégral et du calcul des probabilités. Mais c'est sans doute la première moitié du XXe siècle qui est le véritable âge d'or du concept d'algorithme en mathématiques, avec le développement, au sein de la logique, de la théorie de la calculabilité.

   À la fin du XIXe siècle et au début du XXe siècle, en effet, les travaux de Frege, Russell et Whitehead, Hilbert et Ackermann notamment avaient abouti à la première définition précise et opérationnelle du concept de démonstration. Cette avancée a mené Hilbert à poser, dans les années vingt, la question de l'existence d'un algorithme qui indique si une proposition a une démonstration ou non. Le problème de l'existence d'un tel algorithme s'appelle le problème de la décision.

   Ce problème a été le premier de toute l'histoire de la théorie des algorithmes à recevoir une réponse négative : en 1936, Church et Turing ont montré indépendamment qu'il ne peut pas y avoir d'algorithme qui indique si une proposition a une démonstration ou non.

   Il est important de comprendre la rupture que représente ce premier résultat négatif. Tant qu'ils ne faisaient que trouver des algorithmes pour résoudre certains problèmes : calculer la somme de deux nombres, résoudre une équation du deuxième ou du troisième degré... les mathématiciens n'avaient pas réellement besoin d'une définition du concept d'algorithme. Il leur suffisait de tomber d'accord sur le fait que, par exemple, l'algorithme habituel de l'addition – ajouter les chiffres des unités, puis les chiffres des dizaines, les chiffres des centaines, etc. en propageant les retenues – était bien une méthode systématique pour calculer la somme de deux nombres. Pour démontrer qu'il n'existe pas d'algorithme pour résoudre le problème de la décision, en revanche, il est nécessaire de s'appuyer sur une définition du concept d'algorithme pour montrer qu'aucun objet dans l'extension de ce concept ne résout ce problème de la décision.

   Et c'est la proposition de telles définitions par Herbrand, Gödel, Turing, Church, Kleene, Post, etc. dans les années trente, tout autant que la démonstration de l'inexistence d'un algorithme pour résoudre le problème de la décision, qui est une avancée majeure de la théorie de la calculabilité.

Les machines

   Mais l'informatique n'est pas exclusivement la science des algorithmes, sinon nous serions contraints de penser que les scribes de Mésopotamie et d'Égypte étaient des informaticiens. Un deuxième concept qui définit l'informatique est celui de « machine ».

   Les machines, qui se distinguent traditionnellement des outils par l'autonomie que leur donne leur capacité à utiliser une source d'énergie, peuvent se classer en différentes catégories, selon les tâches qu'elles permettent d'exécuter : scier du bois, pétrir du pain, etc. Parmi ces tâches, figure celle de traiter de l'information, c'est-à-dire de transformer des symboles. Si l'on exclut les tablettes d'argile et les calames qui permettent de poser les opérations, les bouliers, les échiquiers, abaques et autres outils, les plus anciennes machines à traiter de l'information sont les carillons des cathédrales, puis, au XVIIe siècle, les machines à calculer de Schickard et de Pascal qui permettaient de faire d'effectuer des additions et des soustractions, puis celle de Leibniz qui permettait aussi de faire des multiplications et des divisions.

   Ces machines ont été perfectionnées au cours des deux siècles qui ont suivi, pour arriver à des machines assez sophistiquées à la fin du XIXe siècle, avec, par exemple, la machine à carte perforée de Hollerith, utilisée pour dépouiller le recensement américain de 1890. Mais, c'est, à nouveau, dans la première moitié du XXe siècle, que les recherches autour de ces machines à traiter de l'information ont accompli leurs avancées les plus spectaculaires.

   La « Bombe », machine construite pendant la Seconde Guerre mondiale, d'abord en Pologne par le Bureau du chiffre, puis au Royaume Uni, dans le site de Bletchley Park de la Government Code and Cypher School, illustre bien ces progrès. Cette machine électromécanique a été conçue pour cryptanalyser les messages chiffrés par l'armée allemande avec la machine Enigma, c'est-à-dire pour déchiffrer ces messages sans en connaître la clé.

   La méthode de cryptanalyse la plus simple consiste à essayer l'une après l'autre toutes les clés de déchiffrement possibles, jusqu'à obtenir un message intelligible. Dans le cas simpliste où la méthode de chiffrement consiste à décaler les lettres dans l'alphabet d'une ou de deux places – ainsi la lettre « a » est-elle remplacée par la lettre « b » dans le premier cas et par la lettre « c » dans le second, il suffit pour cryptanalyser un message de décaler les lettres dans l'autre sens d'une et de deux places, et observer dans quel cas cela produit un message intelligible. C'est une méthode de ce type, quoi qu'un peu plus complexe, et portant, bien entendu, sur un nombre de clés beaucoup plus grand qui est utilisée par la Bombe.

   On voit la vertigineuse augmentation, entre la fin du XIXe siècle et la première moitié des années quarante, de la complexité des opérations effectuées par ces machines. Il ne s'agit plus, ici, de classer et de compter des cartes perforées, mais, tout à la fois, d'énumérer les clés de déchiffrement possibles, de simuler le fonctionnement de la machine Enigma pour chacune d'elles et de tester ensuite le résultat obtenu.

Deux courants de pensée

   Jusqu'au milieu du XXe siècle, les recherches sur les algorithmes et celles sur les machines ont donc été assez indépendantes les unes des autres.

   Quand Gauss, par exemple, avait proposé l'algorithme du pivot pour résoudre les systèmes d'équations linéaires à plusieurs inconnues, cet algorithme était destiné à être exécuté à la main et non par une machine.

   À l'inverse, il n'y a aucune innovation algorithmique dans la machine de Pascal. Pour effectuer des additions, cette machine utilise certes un algorithme, mais cet algorithme, qui est le même que celui que nous utilisons à la main : ajouter les chiffres des unités, puis les chiffres des dizaines, etc. en propageant les retenues, était connu, à l'époque de Pascal, depuis des siècles.

   Et dans la première moitié du XXe siècle, ces deux courants de pensée étaient plus éloignés que jamais. L'algorithme utilisé par la Bombe était sans doute un peu moins élémentaire que celui de la machine de Pascal, mais sa conception ne reposait nullement sur les résultats de la théorie de la calculabilité contemporaine. Les concepteurs de cette machine et ceux de la machine Colossus, qui lui a succédé et qui a été la première machine électronique, devaient construire des machines les plus rapides et les plus robustes possibles, afin de tester le maximum de clés en un minimum de temps. Pour cela, ils devaient, par exemple, choisir entre utiliser des techniques électromécaniques, comme dans le cas de la Bombe, ou électroniques, comme dans le cas de Colossus. Ces préoccupations semblent bien éloignées de l'exploration des limites du calcul à laquelle se consacraient les spécialistes de la théorie de la calculabilité.

   Cette observation permet de mesurer la singularité de l'événement qui s'est produit au milieu du XXe siècle, quand ces deux courants de pensée ont fusionné pour donner naissance à l'informatique.

Qu'est-ce qu'un ordinateur ?

   Cette fusion était pourtant, en quelque sorte, inévitable, car il n'est pas rentable, sur le long terme, de construire une machine pour faire des additions, une autre pour faire des multiplications, une troisième faire des recherches dans un dictionnaire, une quatrième pour cryptanalyser les messages chiffrés avec la machine Enigma, etc. Il est beaucoup plus économique de construire une machine polyvalente, qui peut effectuer, tour à tour, des additions, des multiplications, des recherches dans un dictionnaire, des cryptanalyses par énumération exhaustive, etc.

   Cette idée de polyvalence est ancienne, puisque au XVIIIe siècle et au XIXe siècle déjà, Falcon et Jacquard avaient construit des métiers à tisser qui permettaient de réaliser des motifs différents, en changeant une carte perforée qui décrivait ce motif, de même que l'on peut jouer des airs différents en changeant le cylindre d'une boîte à musique.

   Nous expérimentons quotidiennement cette polyvalence, puisque nos ordinateurs ont remplacé à la fois nos machines à écrire, nos machines et à calculer, nos magnétophones, nos appareils photo, etc.

   Mais les ordinateurs ne sont pas simplement des machines polyvalentes – en quelque sorte, la machine de Pascal, qui pouvait effectuer non seulement des additions, mais aussi des soustractions, l'était déjà – ce sont des machines universelles : non seulement un ordinateur peut exécuter plusieurs algorithmes, mais il peut les exécuter tous.

Les concepts de langage et d'information

   La conception de machines à exécuter tous les algorithmes possibles a donc mené à articuler, dans un même discours scientifique et technique, les concepts d'algorithme et de machine, et à comprendre que ces deux concepts sont partiellement substituables : certaines machines, par exemple, ont un circuit pour faire des additions et un autre pour faire effectuer des multiplications, d'autres machines n'ont qu'un circuit pour faire des additions, et la multiplication y est alors un algorithme programmé. Cela a aussi mené à articuler ces deux concepts avec deux autres, celui de langage et celui d'information.

   En effet, contrairement à une calculatrice de poche qui peut exécuter quatre algorithmes, que l'on choisit en appuyant sur l'une des touches +, - , × ou ÷, un ordinateur peut exécuter une infinité d'algorithmes différents les uns des autres ; et il n'est plus possible de choisir l'algorithme à exécuter, simplement en appuyant sur une touche. Il devient nécessaire de le décrire dans une langue qui puisse être comprise à la fois par le programmeur qui exprime cet algorithme et par l'ordinateur qui l'exécute. Or, les langues naturelles, telles le français ou l'anglais, ne sont pas les bons outils pour exprimer des algorithmes. D'une part, parce que les ordinateurs peinent à analyser ces langues. D'autre part, parce qu'il est difficile de décrire un objet complexe dans une langue naturelle. Pour décrire un algorithme, il vaut donc mieux utiliser un langage plutôt qu'une langue, de même que pour exprimer une équation, il vaut mieux utiliser le langage de l'algèbre – « x3 + 3 x2 = 20 » – plutôt que le français – « le cube de la chose et trois de ses carrés font vingt ».

   L'informatique se place donc non seulement dans la continuité des courants de pensée centrés sur les concepts d'algorithme et de machine, mais aussi dans celle de ce courant de pensée centré sur le concept de langage et auquel on peut rattacher la logique, la Characteristica universalis de Leibniz, le langage algébrique, la notation musicale, etc.

   De manière similaire, la conception de machines à exécuter tous les algorithmes possibles a mené à s'interroger sur la manière de représenter les données sur lesquelles ces algorithmes opèrent, afin qu'ils puissent être traités par ces machines électroniques. Cette partie de l'informatique, qui traite de la représentation des informations, lui a donné son nom. Elle est essentielle par exemple dans la conception des systèmes d'information autour desquels sont organisées nos entreprises et nos administrations. On peut lui rattacher, ici encore, des problématiques plus anciennes, notamment celle de la représentation des nombres qui a mené à la numération positionnelle, et à celle des méthodes de chiffrement et déchiffrement des messages secrets, qui remonte à l'Antiquité.

Des visions divergentes de l'informatique

   Le fait que l'informatique soit née de la confluence de plusieurs courants de pensée, en particulier ceux centrés sur le concept d'algorithme et sur le concept de machine, est à l'origine d'une grande diversité dans les manières de décrire l'informatique.

   L'informatique est parfois décrite comme la science des algorithmes, parfois comme celle des ordinateurs, parfois comme la science du signe et parfois comme celle des flux d'information, ce qui mène à mobiliser des figures ancestrales diverses : Al-Khwârizmî, Pascal, Peirce, Gutenberg, etc. ; à classer l'informatique comme une branche des mathématiques, de la physique, des sciences du langage, des sciences de l'information, etc. ; à lui donner des noms qui mettent en avant le concept d'ordinateur : computer science, ou d'information : informatique. Toutes ces descriptions sont fausses, car toutes sont partielles.

   À la question de ce qui fait fonctionner un moteur de recherche, tel Google Search, on peut, par exemple, répondre que c'est le très innovant algorithme PageRank, qui permet de calculer la popularité d'une page, comme la somme des popularités des pages qui la référencent – la circularité de cette définition n'étant qu'apparente – ou alors les millions d'ordinateurs de Google, qui permettent d'archiver l'intégralité du Web. À nouveau, ces deux réponses sont fausses, car partielles.

Les histoires de l'informatique

   Cette pluralité des visions de l'informatique se reflète aussi dans la pluralité des histoires de l'informatique, que ces histoires dernières soient le fruit du travail d'historiens rigoureux, ou des légendes orales racontées par les informaticiens eux-mêmes.

   Ainsi, il n'est pas rare d'entendre que les travaux des logiciens des années trente, à la recherche d'une définition du concept d'algorithme, les ont menés à concevoir des machines imaginaires – telle la machine de Turing – capables d'exécuter ces algorithmes, puis que ces machines imaginaires se sont miraculeusement matérialisées en des machines réelles dans la seconde moitié des années quarante, reléguant ainsi l'apport de Pascal, Jacquard, Hollerith, Flowers, etc. à des contributions mineures, véhicules contingents de la nécessaire matérialisation de l'idée de machine universelle, née dans les esprits des logiciens des années trente.

   À l'inverse, l'apport de la théorie de la calculabilité à la constitution de l'informatique est parfois simplement niée : les premiers ordinateurs, construits dans la seconde moitié des années quarante, aux États-Unis – l'ENIAC, l'EDVAC, etc. – et au Royaume Uni – la SSEM, l'EDSAC, l'ACE, etc. – sont alors présentés dans la continuité des machines construites précédemment, telles la machine de Hollerith, la Bombe, Colossus, etc. Leur soudaine universalité n'étant qu'une conséquence d'une quête continue de polyvalence.

   Cette différence de points de vue est illustrée par ce que l'on peut appeler la controverse entre Turing et Wilkes. Turing, figure centrale de la théorie de la calculabilité dans les années trente, est souvent présenté comme le père fondateur de l'informatique et son article de 1936, – qui introduit le concept de machine de Turing et apporte une réponse négative au problème de la décision de Hilbert, – comme le premier article d'informatique de l'histoire. Le « prix Nobel » d'informatique s'appelle d'ailleurs le « prix Turing ». Mais Wilkes, exact contemporain de Turing, concepteur de l'un des premiers ordinateurs britanniques, l'EDSAC, et ironiquement l'un des premiers lauréats du prix Turing, lui conteste jusqu'à la qualification d'informaticien. Par exemple, dans un bref discours, prononcé en 1997, soit plus de quarante ans après la mort de Turing, Wilkes semble avoir encore quelques comptes à régler.

   L'article de 1936 de Turing, dit-il, est une contribution majeure aux mathématiques, mais qui n'a aucune pertinence en informatique, car il n'y a, selon Wilkes, aucun rapport entre la machine de Turing et les machines réelles, telle celle que Wilkes a construite. Wilkes oppose ensuite la physique à l'informatique : il y a des sujets, dit-il, qui ont une base mathématique, par exemple l'électromagnétisme avec les équations de Maxwell, mais on ne peut pas dire que, de même, la théorie des automates (c'est-à-dire de la calculabilité) forme la base mathématique de l'informatique.

   Pour départager ces deux opinions, il semble qu'il faille dépasser le simple cadre de la légende orale ou du point de vue des acteurs de l'histoire et s'appuyer sur une documentation historique un peu plus précise. Et ici, les travaux des historiens semblent donner raison à Wilkes, car dans la seconde moitié des années quarante, les articles publiés par les concepteurs des premiers ordinateurs ne font quasiment jamais référence aux travaux des logiciens de la décennie précédente, que ceux-ci semblent, pour l'essentiel, ignorer. Cela semble corroborer la thèse selon laquelle cette naissance de l'informatique doit beaucoup plus à cette tradition de construction de machines à calculer, qu'à la théorie de la calculabilité.

   Ce constat, pour exact qu'il soit, doit cependant être nuancé par deux observations. La première est que ces deux communautés étaient loin d'être étanches. Ainsi, à Bletchley Park, où a été construite la Bombe, dans la première moitié des années quarante, le chef de la huitième section était le même Turing qui avait résolu le problème de la décision de Hilbert, quelques années plus tôt, et la conception de la Bombe est co-attribué à Turing et à Welchman. De même, l'ENIAC, et surtout l'EDVAC, ont été construits par une équipe formée de Mauchly, Eckert et von Neumann, qui était, lui aussi, une figure de la logique des années trente. Il semble donc difficile, même si le Turing des années quarante ne cite pas le Turing des années trente, de nier que le Turing, celui des années trente, ait pu influencer le Turing des années quarante. Il est cependant difficile d'aller au-delà de cette observation, d'une part, car ce qui se passait dans la tête de Turing ou de von Neumann à cette époque échappe, en grande partie, à la méthode historique, et d'autre part, parce que d'autres pionniers, tel Eckert, ont conçu des machines très proches de celles de von Neumann, sans avoir de culture logique.

   La seconde observation est que Wilkes parle de l'influence de la théorie de la calculabilité sur la construction des premiers ordinateurs, mais non de l'influence de la théorie de la calculabilité sur l'informatique dans son ensemble.

   Par exemple, si Wilkes a raison de remarquer que l'architecture de la machine de Turing, avec son ruban et sa tête mobile, est assez différente de l'architecture des machines réelles, plus proches de l'architecture de von Neumann, il omet de mentionner que les langages de programmation fonctionnels – Lisp, Iswim, ML, Caml, Haskell... – sont clairement inspirés d'un autre objet, introduit par Church dans les années trente, pour définir ce même concept de calculabilité : le lambda-calcul. Et même au-delà du champ étroit des langages fonctionnels, le mécanisme de passage d'arguments de tous les langages de programmation est inspiré par celui du lambda-calcul.

   De même, une méthode classique d'optimisation des programmes consiste à supprimer les morceaux du programme qui ne sont jamais exécutés. Ainsi le programme « x = 1 ; if (x == 1) y = 2 ; else y = 3 ; » se simplifie-t-il en « x = 1 ; y = 2 ; » mais comme le savent tous les informaticiens, cette simplification ne peut être que partielle, car il n'y a pas plus d'algorithme pour décider si un programme est simplifiable ou non, qu'il n'y en a pour résoudre le problème de la décision de Hilbert.

   Le fait que la théorie de la calculabilité n'ait pas influencé la construction des premiers ordinateurs ne permet pas de conclure qu'elle n'a pas influencé d'autres parties de l'informatique. Car la construction d'ordinateurs ne résume pas, à elle seule, l'informatique, et il ne saurait y avoir d'informatique sans réflexion parallèle sur les concepts d'algorithme, de langage et d'information.

La singularité d'une confluence

   Quand on cherche à la formuler précisément, on s'aperçoit vite que la question de l'importance relative de l'algorithme PageRank et des millions d'ordinateurs de Google dans le fonctionnement de Google Search est une question aussi dénuée de sens que celle de l'importance relative de l'hydrogène et de l'oxygène dans la composition de l'eau, car cet algorithme et ces machines sont aussi indispensables, l'un que les autres, au fonctionnement de ce moteur de recherche.

   Et, sur le plan historique, la question de savoir si l'origine de l'informatique est à chercher dans l'histoire du concept d'algorithme ou dans celle du concept de machine est tout aussi dénuée de sens. À trop vouloir défendre l'héritage du courant de pensée qui, des scribes de l'Antiquité à la théorie de la calculabilité, a été centré sur le concept d'algorithme, ou celui qui, de la vis d'Archimède à la machine d'Hollerith a été centré sur le concept de machine, on risque de ne pas percevoir ce qui fait la véritable singularité de la naissance de l'informatique : que plusieurs courants de pensée, très peu liés jusqu'alors, ont fusionné, trouvant des objectifs communs, des objets d'étude communs, un vocabulaire commun, des valeurs communes...

   Que cette fusion se soit accompagnée de quelques frictions, revendications territoriales ou tentations sécessionnistes ne doit pas masquer la rareté de cet événement, qui mériterait d'être étudié comme tel.

   Une originalité de cette fusion est que, si l'on définit la science comme une activité d'étude et la technique comme une activité de construction, alors le courant de pensée centré sur le concept d'algorithme est surtout scientifique et celui centré sur le concept de machine surtout technique. Cela explique, sans doute, une autre singularité de l'informatique, rare domaine intellectuel où les activités scientifiques et techniques sont mises sur un pied d'égalité.

Gilles Dowek
directeur de recherche l'INRIA,
Grand Prix de Philosophie de l'Académie Française

Paru dans Cahiers philosophiques, n° 141, « La révolution informatique », 2e trim. 2015, pages 7 à 15 et l'éditeur était alors Canopé. Mis en ligne sur Cairn.info le 28 mai 2015 : https://doi.org/10.3917/caph.141.0007
https://www.cairn.info/revue-cahiers-philosophiques1-2015-2-page-7.htm

haut de page
Association EPI
Juin 2021

Accueil Articles