Libre à vous ! Radio Cause Commune - Transcription de l'émission du 15 septembre 2020

De April MediaWiki
Aller à la navigationAller à la recherche


Titre : Émission Libre à vous ! diffusée mardi 15 septembre 2020 sur radio Cause Commune

Intervenant·e·s : Éric Fraudin - Véronique Bonnet - Frédéric Couchet - Étienne Gonnu à la régie

Lieu : Radio Cause Commune

Date : 15 septembre 2020

Durée : 1 h 30 min

Écouter ou enregistrer le podcast PROVISOIRE

Page des références utiles concernant cette émission

Licence de la transcription : Verbatim

Illustration :

NB : transcription réalisée par nos soins, fidèle aux propos des intervenant·e·s mais rendant le discours fluide.
Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l'April, qui ne sera en aucun cas tenue responsable de leurs propos.

Transcrit : MO

Transcription

Voix off : Libre à vous !, l’émission pour comprendre et agir avec l’April, l’association de promotion et de défense du logiciel libre.

Frédéric Couchet : Bonjour à toutes. Bonjour à tous.
L’informatique c’est quoi ? Ce sera le sujet principal de l’émission du jour avec au programme la première chronique musicale d’Éric Fraudain, également la chronique de Véronique Bonnet sur la mise en application des critères du logiciel libre.
Nous allons parler de tout cela dans l’émission du jour.

Vous êtes sur la radio Cause Commune, la voix des possibles, 93.1 FM et en DAB+ en Île-de-France et partout dans le monde sur le site causecommune.fm.

Soyez les bienvenus pour cette nouvelle édition de Libre à vous !, l’émission pour comprendre et agir avec l’April, l’association de promotion et de défense du logiciel libre. Je suis Frédéric Couchet, le délégué général de l’April.

Le site web de l’April c’est april.org, vous pouvez y trouver une page consacrée à cette émission avec les liens et références utiles, les détails sur les pauses musicales et également tous les moyens de nous contacter.

Nous sommes mardi 15 septembre 2020, nous diffusons en direct, mais vous écoutez peut-être une rediffusion ou un podcast.

Si vous souhaitez réagir, poser une question pendant ce direct, n’hésitez pas à vous connecter sur le salon web de la radio. Pour cela rendez-vous sur le site de la radio, causecommune.fm, cliquez sur « chat » et retrouvez-nous sur le salon dédié à l’émission.

À la réalisation de l’émission aujourd’hui mon collègue Étienne Gonnu. Bonjour Étienne.

Frédéric Couchet : Salut Fred.

Frédéric Couchet : Nous vous souhaitons une excellente écoute.

Pour commencer on va vous proposer un petit quiz, ça faisait longtemps, on va poser une petite question et je fournirai la réponse au cours de l’émission sauf si vous la donnez avant. Lors de l’émission de la semaine dernière, mardi 8 septembre 2020, il y a eu la première chronique d’une association qui agit notamment pour l’appropriation de l’informatique par toutes et tous et dont les locaux sont situés à côté du studio de la radio dans le 18e arrondissement de Paris. Quel est le nom de cette association ? Vous pouvez évidemment répondre sur le salon web de la radio ou sur les différents réseaux sociaux, sinon je vous donnerai la réponse en cours d’émission.

Tout de suite place au premier sujet.

[Virgule musicale]

Première chronique musicale d'Éric Fraudain du site Au Bout Du Fil

Frédéric Couchet : Nous allons commencer par la première chronique d'Éric Fraudain du site Au Bout Du Fil auboutdufil.com Éric propose une sélection de musique libre dans tous les styles musicaux, Il va nous faire une chronique musicale mensuelle dont la première va avoir lieu aujourd'hui.
Et Éric va également nous aider pour la programmation musicale en nous sélectionnant pour chaque émission des pépites musicales libres. Bonjour Éric ?

Éric Fraudain : Bonjour à tous, très heureux d'être parmis vous !

Frédéric Couchet : Écoute c'est super on est ravis. Je crois qu'aujourd'hui tu veux nous parler d'un artisque qui s'appelle Cloudkicker. Je te laisse la parole.

Éric Fraudain : Je suis heureux de pouvoir partager avec vous mes préférences musicales, évidemment sous licence Creative Commons Attribution et aujourd'hui, je vous emmène à Columbus dans l'Ohio à la découverte, donc, d'un artiste américian, qui s'appelle Cloudkicker qui assume sa différence et son goût pour l'expérimentation.

Derrière Cloudkicker se cache un musicien qui s'appelle Ben Sharp et qui produit sous Cloudkicker depuis 2007 maintenant des albums sous licence Creative Commons essentiellement Creative Commons Attribution, alors je ne sais pas pourquoi mais sur son dernier album il s'est mis à publier sous licence Creative Commons BY-NC-SA, il a interdit l'utilisation commerciale de sa musique (c'est pour la petite histoire).

Donc là aujourd'hui je vous propose d'écouter un titre qui s’appelle Night qui est le premier titre de son album Unending qui est paru le 15 août 2019, et comme pour ses précédents opus, Ben Sharp a pris la main sur la réalisation toute entière de son album que ce soit l'écriture, la composition, l'enregistrement, le mixage et le mastering.

Voilà donc je vous propose d'écouter ce titre et on revient juste après pour la review.

[Musique de 4:40 à 6:55]







Frédéric Couchet : Merci. On va juste rappeler que la licence Creative Attribution signifie simplement qu’on est libre d’utiliser la musique de Cloudkicker à condition unique de le citer, c’est-à-dire que vous pouvez la modifier, vous pouvez la réutiliser même pour des besoins commerciaux. C’est une des nombreuses licences libres qui existent. Je précise que Éric nous a concocté un choix d’autres titres de Cloudkicker pour cette émission. Chacune des pauses musicales aujourd’hui sera consacrée à l’artiste Cloudkicker.
Je remercie Éric Fraudain du site auboutdufil.com qui va nous faire une chronique musicale mensuelle et qui s’occupe de la programmation de Libre à vous !
Éric on se retrouve le mois prochain.

Éric Fraudain : Pas de souci. Merci à tous. Bonne émission.

Frédéric Couchet : Bonne journée. À bientôt.
On va passer à une pause musicale

[Virgule musicale]

Frédéric Couchet : La pause musicale c’est à nouveau, évidemment, Cloudkicker. On va écouter Intro to Woum par Cloudkicker. On se retrouve juste après. Belle journée à l’écoute de Cause Commune, la voix des possibles.

Pause musicale : Intro to Woum par Cloudkicker.

Frédéric Couchet : Nous venons d’écouter Intro to Woum par Cloudkicker, disponible sous licence libre Creative Commons Attribution, c’est-à-dire partage à condition d’attribuer la source de la musique à l’artiste. Ce choix musical est de Éric Fraudain de auboutdufil.com. Vous retrouverez les références sur le site de l’April, april.com, et sur le site de la radio, causecommune.fm

Vous écoutez toujours l’émission Libre à vous ! sur radio Cause Commune, la voix des possibles, 93.1 FM et en DAB+ en Île-de-France et partout dans le monde sur le site causecommune.fm.
Nous allons passer maintenant au sujet principal.

[Virgule musicale]

Qu’est-ce que l’informatique avec Sylvie Boldo, directrice de recherche à l'Inria, et Fabien Tarissan chargé de recherche en informatique au CNRS, auteur de l'ouvrage Au cœur des réseaux. Des sciences aux citoyens (Le Pommier, 2019)

Frédéric Couchet : Nous allons poursuivre par notre sujet principal qui va porter sur le thème « c’est quoi l’informatique ? », large question !, avec Sylvie Boldo directrice de recherche à l’Inria et Fabien Tarissan chargé de recherche en informatique au CNRS et auteur de l'ouvrage Au cœur des réseaux. Des sciences aux citoyens, Éditions Le Pommier en 2019.
Normalement Sylvie et Fabien sont en connexion téléphonique avec nous, on va vérifier. Est-ce que vous êtes là ?

Fabien Tarissan : Tout à fait. Bonjour.

Sylvie Boldo : Bonjour. Oui, nous sommes là.

Frédéric Couchet : Parfait. Je précise que c’est un premier test de connexion. On est encore en mode covid, donc Fabien et Sylvie sont à distance pendant que Étienne et moi sommes au studio.
L’idée de cette première émission, qui est née d’ailleurs lors d’une rencontre l’an dernier avec la Société informatique de France dont Fabien Tarissan est membre du conseil d’administration, c’est un peu d’expliquer ce qu’est l’informatique, parce que, en fait, l’informatique est omniprésente dans nos vies mais ce n’est pas sûr que les gens aient bien compris ce que c’est. Ce n’est probablement qu’une première émission parce que nous aborderons certains sujets peut-être plus en détail dans d’autres émissions ; là on va essayer de débroussailler un petit peu ce terrain. Première question, on va laisser se présenter les deux personnes que nous avons invitées. On va commencer par Sylvie Boldo.

Sylvie Boldo : Je suis chercheuse en informatique à l’Inria et l’Université Paris-Saclay et ma recherche porte sur la confiance dans les ordinateurs et les calculs sur ordinateur.

Frédéric Couchet : C’est un des sujets qu’on va abordera, justement cette fameuse de notion de confiance. Fabien Tarissan.

Fabien Tarissan : Je suis également chercheur, mais au CNRS, en informatique également. Mon domaine d’expertise c’est plutôt les réseaux. J’ai aussi une casquette d’enseignant puisque je suis professeur attaché à l’École normale supérieure de Paris-Saclay et, vous l’avez dit, j’ai également une casquette en termes de médiation, de diffusion des connaissances auprès du plus grand nombre, du grand public pour faire simple, et je suis pour la Société informatique de France vice-président en charge de la médiation scientifique.

Frédéric Couchet : D’accord. On va commencer par une question qui est peut-être un peu compliquée, mais on va essayer de rentrer un petit peu là-dedans, en fait c’est la définition de l’informatique. Si on vous pose la question quand on vous rencontre la première fois et que vous expliquez que vous faites de l’informatique, comment vous définissez l’informatique ? Quels sont les grands concepts de l’informatique et après on va essayer de les détailler un petit peu. Sylvie Boldo.

Sylvie Boldo : Pour moi il y a quatre concepts importants en informatique qui sont : l’information, l’algorithme, le programme et la machine. Je ne sais pas si vous voulez que je détaille les quatre ou si Fabien veut le faire.

Frédéric Couchet : Vous allez pouvoir les détailler tous les deux. Vous, vous partez sur les quatre grands concepts. De votre côté, Fabien Tarissan, est-ce que vous partez sur ces quatre grands concepts ou vous donnez une définition un peu différente ?

Fabien Tarissan : En général je commence par dire une formule, une définition qui est assez communément admise dans notre communauté qui est de dire que l’informatique c’est une science et que c’est une science du traitement automatisé de l’information. J’aime bien cette formule parce qu’elle renvoie notamment d’abord à la démarche scientifique qui est derrière informatique, l’informatique c’est une discipline scientifique, mais aussi à l’aspect technique, au traitement automatisé qui lui renvoie plutôt à l’ordinateur. Et effectivement, ensuite on peut se demander ce que recouvre, en termes de champs disciplinaires, la notion de science du traitement automatisé de l’information et là je suis tout à fait d’accord avec Sylvie, il faut travailler les quatre concepts qu’elle vient d’énoncer et qui sont d’ailleurs la manière que l’on a de présenter l’informatique au lycée dans les programmes d’enseignement scolaire. Ce sont effectivement quatre concepts qui traversent tous les champs de la discipline informatique.

Frédéric Couchet : D’accord. On va les aborder et on reviendra tout à l’heure sur la formation en terminale, au collège, lycée, puis la formation des enseignants. Déjà on retient une science du traitement de l’information mais également une technique parce que, pendant longtemps, les gens n’ont sans doute vu l’informatique que d’un point de vue technique. Donc quatre grands concepts : information, algorithme, langage, machine.
Est-ce qu’on peut commencer un petit peu à détailler ces quatre grands concepts en commençant par le premier, l’information. Sylvie Boldo.

Silvie Boldo : L’information, il y en a effectivement partout autour de nous. Ça va des serveurs de données de vos mails à des choses très simples. Je voulais vous donner un exemple : vous imaginez une classe qui a des notes sur 20 et le professeur veut, par exemple, la moyenne ou la note maximum de ces notes. La donnée de base, eh bien ça va être les notes de tous les élèves. Après il va vouloir appliquer un algorithme qui est, par exemple, je vais sommer, faire la comme de toutes ces valeurs-là, diviser par le nombre d’élèves et là j’aurai la moyenne. Après, s’il veut le faire en vrai, il va écrire un programme dans un langage de son choix, donc il va devoir écrire un texte compréhensible par la machine qui va lui permettre de faire ce calcul-là. Après ça va rentrer dans la machine qui va vous donner un résultat.
Quelque part l’informatique c’est passer au travers de ça, c’est-à-dire aller d’un certain nombre d’informations et d’idées de façon à concevoir un algorithme qui, après, va marcher sur une machine.

Frédéric Couchet : D’accord. C’est déjà intéressant et on va revenir sur ces quatre concepts, notamment avec Fabien, mais que les gens comprennent que informatique ce n’est pas synonyme forcément d’ordinateur, on peut faire de l’informatique sans machine quelque part et on verra peut-être tout à l’heure dans l’initiation qu’on peut commencer à initier à l’informatique dès la maternelle, en fait sans ordinateur.
Fabien sur ces quatre grands concepts et sur leur enchaînement donc information, algorithme, langage, machine ?

Fabien Tarissan : C’est intéressant de comprendre l’enchaînement. Sylvie a tout à fait raison. Comprendre ce qu’est l’informatique et avoir une démarche d’informaticien ou d’informaticienne c’est exactement ce qu’elle vient dire, c’est-à-dire mettre en œuvre l’ensemble de ces quatre concepts dans une démarche assez rigoureuse.
Si on les prend séparément j’aime bien commencer par définir ce qu’est un algorithme, parce que, notamment, l’algorithme n’est pas propre à l’informatique, ça existe depuis des milliers d’années, probablement depuis que les hommes et les femmes ont eu besoin de compter, de faire des calculs notamment sur les surfaces agraires, etc. On retrouve des algorithmes dans l’Antiquité.
Qu’est-ce que c’est qu’un algorithme ? C’est une séquence d’instructions qui est censée être simple, élémentaire, qui est censée être non ambiguë, dont l’interprétation ne dépend pas de la personne qui reçoit cette séquence d’instructions et surtout qui résout un problème donné. L’exemple que j’aime bien prendre notamment devant un public très jeune c’est l’exemple de la recette de cuisine. Si vous voulez faire un gâteau au chocolat, vous suivez une recette, vous prenez tant d’œufs, tant de proportion de beurre, de farine, vous chauffez votre four à telle température, et normalement, invariablement, à la fin vous allez obtenir un gâteau au chocolat. Ce que j’aime bien dans cet exemple c’est qu’on peut très vite sentir qu’on n’a pas besoin de comprendre pourquoi ça marche, on n’a pas besoin de comprendre l’alchimie qui s’opère entre les ingrédients, à la fin, invariablement, on obtient un gâteau au chocolat. Et c’est ça qui est un petit peu au cœur d’un algorithme. Si on suit la procédure qui est exprimée par cette séquence d’instructions dans un algorithme alors on obtient la résolution du problème auquel s’attaque l’algorithme.
Après si on veut enchaîner et comprendre la dynamique avec les autres facettes, avec l’exemple de la recette on sent bien qu’on n’est pas dans l’algorithme informatique, d’accord. Il y a des choses qui caractérisent les algorithmes dits informatiques des autres, il y a plusieurs points particuliers, mais il y en a qui nous amène au deuxième concept qui est que les algorithmes informatiques ont pour vocation, ont pour destinée à être opérés non pas par des êtres humains mais par des machines. Ça nous amène au deuxième concept qui a été évoqué par Sylvie tout à l’heure qui est celui de machine. Il faut comprendre comment s’organise une machine qui traite automatiquement de l’information. Qu’est-ce que c’est qu’un système d’exploitation ? Qu’est-ce que c’est qu’un fichier ? Qu’est-ce qui se passe quand on met des ordinateurs connectés entre eux et qu’on crée des réseaux ?
Du coup, on a ces deux concepts qui interagissent, on a quelque chose de très abstrait, un algorithme, on a quelque chose de très concret qui est une machine et là se joue quelque chose qui est de faire correspondre ces deux mondes. Et là on a besoin d’un cadre très formel pour exprimer ce qu’est un algorithme pour une machine. C’est donc l’exercice de la programmation et de comprendre ce qu’est un langage de programmation. Là toute la question, notamment dans le cadre de l’enseignement, c’est de faire comprendre quels sont les éléments clefs qu’un langage doit avoir pour rendre opérationnel ce que les algorithmes veulent faire et le rendre exécutable par une machine.
On voit bien que ces points-là ont une dynamique ensemble, ils sont en même temps très distincts et en même temps ils parlent un petit peu de la même chose. On a les algorithmes du côté très abstrait, la machine du côté concret et le langage qui fait opérer les deux.

Frédéric Couchet : D’accord. Je suppose qu’il y a plusieurs façons de résoudre un même problème, donc plusieurs algorithmes possibles. Par exemple si on veut trier des objets, il y a sans doute plusieurs façons de trier des objets et il y a également plusieurs langages qui existent pour mettre en œuvre cet algorithme de façon compréhensible par l’ordinateur ?

Fabien Tarissan : Tout à fait. D’ailleurs c’est une des choses que l’on enseigne très vite quand on enseigne l’algorithmique c’est d’essayer de raisonner sur les algorithmes d’abord pour des choses très importantes qui sont être capable d’être sûr, donc de prouver – on est vraiment dans le domaine mathématique – que l’algorithme est correct, qu’il fait ce qu’il est censé faire, qu’il termine, c’est-à-dire qu’il va répondre à un moment donné. On évalue aussi ce qu’on appelle sa complexité, c’est-à-dire grosso modo le temps qu’il va mettre pour répondre à un problème. Et là, effectivement, on peut se mettre à comparer des algorithmes qui, en un sens, ont envie de faire tous la même chose, ils résolvent le même problème, simplement ils ne mettent peut-être pas tous le mème temps à le faire.
Effectivement il y a plusieurs méthodes pour répondre à un problème et on peut se mettre à comparer ces méthodes de façon très formelle et du coup choisir la plus optimale.

Frédéric Couchet : Sylvie Boldo justement sur ces quatre facettes.

Sylvie Boldo : Pour compléter ma réponse parce que j’ai trouvé que l’exemple du tri des valeurs est intéressant. Quand on apprend le piano on fait des gammes, quand on apprend l’informatique on fait des gammes et parmi ces gammes il y a effectivement les algorithmes de tri. Dans l’enseignement de l’informatique il y a effectivement un certain nombre d’algorithmes de tri qui sont appris. C’est vraiment un exemple clef de la littérature informatique.

Frédéric Couchet : Je n’ai pas pris cet exemple totalement au hasard. Ayant été étudiant en informatique c’est effectivement une des premières choses qu’on nous a expliquée, qu’on nous a demandé de résoudre, les algorithmes de tri. Effectivement quand il s’agit de trier 10 objets, peu importe finalement l’algorithme, mais quand il s’agit d’en trier des millions voire des milliards, évidemment la complexité de l’algorithme, comme l’expliquait Fabien Tarissan est importante.
Le premier point important de cette discussion pour les gens qui écoutent, ils comprennent finalement que l’informatique ce sont quatre grands champs qui sont liés entre eux : information-données, l’algorithme, le langage et les machines, avec ordinateur aujourd’hui tel qu’on les connaît, mais ça peut être d’autres machines, ça peut être des machines dans des voitures, dans des avions, dans des téléphones, etc. Sur cette notion de quatre grands concepts liés entre eux est-ce que vous voulez ajouter quelque chose avant qu’on passe au thème suivant ?

Fabien Tarissan : On peut peut-être rappeler une formule d’un de nos grands pontes en informatique, c’est Edsger Dijkstra qui a dit quelque chose que vous avez repris au début de l’émission : « L'informatique n'est pas plus la science des ordinateurs que l'astronomie n’est celle des télescopes. ». Je pense que c’est important effectivement de démystifier ça, de décorréler un petit peu l’image que le grand public peut avoir de l’informatique à travers juste de l’objet machine et comprendre que derrière il y a une démarche scientifique qu’il est important également de percevoir et de comprendre.

Frédéric Couchet : D’accord. Sylvie est-ce que vous voulez ajouter quelque chose sur cette partie ?

Sylvie Boldo : Juste un petit complément. Effectivement les gens imaginent un ordinateur. Ce que j’aime faire dans les classes de petits c’est leur apporter un ordinateur en morceaux pour qu’ils voient le processeur. Les enfants sont fascinés d’avoir entre les mains un processeur, mais effectivement ça ne veut pas dire que l’informatique repose sur des processeurs, on peut faire de l’informatique débranchée.

Frédéric Couchet : On va en parler tout à l’heure.

Sylvie Boldo : On va en reparler, oui.

Frédéric Couchet : Votre expérience m’amuse parce que, quand mes enfants étaient encore petits, je leur ai ouvert le capot d’un ordinateur à l’époque où on pouvait encore le faire facilement pour leur montrer ce qu’il y a dedans et c’était quand même très passionnant. On va parler justement de la partie déconnectée tout à l’heure.
Deuxième thème un plus rapide c’est peut-être donner quelques dates. Est-ce qu’il y a quelques dates clefs dans l’histoire de l’informatique. Tout à l’heure Fabien Tarissan disait que les algorithmes ça n’avait rien de nouveau, c’était arrivé avec la création de l’humanité quelque part. Est-ce qu’il y a des dates clefs à retenir dans l’histoire de l’informatique ? Sylvie ou Fabien, qui veut commencer ?

Sylvie Boldo : Ce que j’aime bien c’est la machine de Blaise Pascal au 17e siècle, la Pascaline qui est effectivement le début des calculs automatisés. Après il y a d’autres outils. C’est une machine que j’aime beaucoup et ça montre qu’en fait faire des calculs à la main c’est pénible, donc on veut les automatiser, donc on veut les automatiser depuis très longtemps, déjà au 17e siècle et maintenant on va beaucoup plus vite, mais on a toujours une machine à calculer.

Frédéric Couchet : Fabien Tarissan.

Fabien Tarissan : C’est marrant. Si on part sur le côté technique, sur les machines, j’aime bien aussi compléter ce genre de machine avec des machines qui n’ont rien à voir avec l’informatique à priori, en tout cas auxquelles on ne pense pas en premier, qui sont la machine à tisser. Pourquoi ? Parce que ce sont des exemples de machines programmables. Donc la machine à tisser, les orgues de Barbarie qui sont des machines dans lesquelles on va changer un petit bout à l’intérieur et ça va totalement changer la sortie de cette machine et c’est quelque chose qui est aussi au cœur du fonctionnement de l’informatique, enfin de l’aspect technique de l’informatique.
En termes de dates, ce que j’aime bien citer à mes élèves de première année, c’est rappeler que la naissance de l’informatique telle qu’on la connaît maintenant ce sont les années 1950, fin des années 1940 on a les premiers ordinateurs et en fait on a, un tout petit peu avant, un texte fondamental qui a été écrit par Alan Turing, qui me semble fondamental, dans lequel est énoncé pour la première fois le concept de machine universelle qui est une description très abstraite de ce que pourrait être un ordinateur et cette description est faite dix ans avant les premiers ordinateurs tels qu’on peut les connaître maintenant. C’est un texte de 1936 qui me semble fondamental.
Après il y a d’autres dates.

Frédéric Couchet : Oui, il y a plein d’autres dates. C’était pour vous demander quelques dates. Je crois que les premiers enseignements universitaires c’est aussi dans les années 1970, il y a une cinquantaine d’années en gros. C’était pour avoir quelques dates et après on renvoie les personnes aux pages Wikipédia et aux références qu’on mettra sur le site de l’April. C’est important de noter que finalement l’informatique n’est pas quelque chose de récent, c’est quelque chose qui existe depuis très longtemps.
On va aborder un troisième sujet qui est notamment le cœur du travail de Sylvie Boldo c’est la confiance dans l’ordinateur. En fait, les deux choses qu’on voit souvent chez les gens c’est soit ils pensent que l’ordinateur est absolument parfait et ne peut jamais faire d’erreurs. Et deuxième chose qu’on voit souvent, notamment avec l’informatique propriétaire, c’est que quand il y a quand même des erreurs ou des bugs, c’est forcément de la faute de la personne et pas de l’ordinateur, l’ordinateur étant parfait. Tout à l’heure Fabien Tarissan a aussi parlé je crois, de vérification ou de méthode formelle je ne sais plus, qui fait partie de la confiance.
Sylvie Boldo, je vous propose de commencer là-dessus puisque c’est justement votre cœur de recherche sur la confiance dans l’ordinateur. Est-ce que l’ordinateur est outil magique et parfait ? Est-ce qu’il a des limites ?

Sylvie Boldo : Quelque part pour l’utilisateur c’est quand même un outil un peu magique parce que ça permet d’accéder à des informations qui sont éloignées très rapidement, très vite. Quelque part les gens ont perçu effectivement le téléphone ou l’ordinateur comme des outils magiques. Le problème c’est qu’en fait un ordinateur c’est très bête et ça fait ce qu’on lui demande et surtout, ça fait ce qu’on lui demande et pas ce qu’on veut. Effectivement on interagit avec l’ordinateur, qui est une machine, par le biais de programmes, Fabien a évoqué tout à l’heure les systèmes d’exploitation, donc quelque part il y a des humains qui ont programmé des programmes qui nous permettent d’interagir avec la machine, qui est un truc très bête qui sait faire des additions, des multiplications, etc., mais qui n’a aucune idée de ce qu’il est en train de faire. Donc de temps en temps ça ne marche pas comme on veut. Effectivement, souvent c’est la faute de l’ordinateur. La solution c’est soit râler sur l’ordinateur, ce qui ne marche pas, soit rebooter, ce qui marche parfois, soit d’autres choses. Dans un contexte personnel ce n’est pas forcément très grave, mais l’informatique est aussi dans les avions, dans les hôpitaux, etc., donc il peut y avoir des cas où on a besoin d’un peu plus de sûreté et de confiance. Il y a un pan de l’informatique qu’on appelle méthode formelle qui a pour but d’amener de la confiance pour effectivement être sûrs qu’un certain nombre de programmes ou d’algorithme sont corrects et ne vont pas planter au milieu.

Frédéric Couchet : Le but de ces méthodes formelles sur lesquelles vous travailler c’est prouver de façon quelque part mathématique que l’ordinateur, que le langage ou que le programme qui a été écrit par un être humain fait vraiment ce pourquoi il était prévu et pas autre chose.

Sylvie Boldo : Absolument. C’est ça. Une des difficultés c’est de décrire ce que le programme est censé faire. Il ne faut pas imaginer juste un petit bout de programme de dix lignes écrit par une personne, il faut imaginer des systèmes qui sont écrits par 50, 100 personnes, qui doivent interagir entre eux. Le fait qu’une fonction écrite par quelqu’un va bien être ce que l’autre attend, ce n’est pas complètement évident non plus. Il y a des techniques de génie logiciel pour ce genre de choses, mais disons que globalement c’est quand même une question très compliquée. On commence à savoir faire des choses, il y a pas mal de recherche là-dessus, mais effectivement c’est encore du domaine de la recherche.

Frédéric Couchet : D’accord. Est-ce qu’il y a beaucoup de code qui est étudié de cette façon-là, notamment du code qui est en production, c’est-à-dire utilisé au quotidien ? C’est-à-dire est-ce que par exemple le code qui est embarqué dans les avions subit des tests via des méthodes formelles ?

Sylvie Boldo : Les programmes dans les avions sont soumis à des normes extrêmement difficiles. Ils doivent être testés de façon très intensive et ils sont au moins partiellement prouvés avec diverses méthodes formelles. Il y a un niveau d’exigence sur les codes des avions qui est très important, beaucoup plus que sur les logiciels que vous utilisez couramment. On fait quand même beaucoup d’efforts pour ces systèmes critiques. Effectivement, ce qu’on aimerait bien c’est que ce soit beaucoup plus automatique, notamment les démonstrations, c’est un des sujets sur lesquels les gens travaillent. Il y a effectivement des niveaux d’exigence pour certains programmes qui sont très élevés.

Frédéric Couchet : Ça fait combien d’années que des gens travaillent sur ce champ-là de cette preuve formelle ?

Sylvie Boldo : Sur les méthodes formelles, ça fait au moins trente ans. Les premières choses c’était l’informatique théorique, le lambda-calcul, ce sont les années 70/80. Quelque part, le fait de pouvoir décrire un algorithme et un programme de façon formelle c’est quelque chose qui n’est pas nouveau. Ce qui est plus récent c’est effectivement réussir à appliquer ça sur des programmes de la vraie vie, ça on le fait au moins partiellement.

Frédéric Couchet : D’accord. Fabien Tarissan, sur ce sujet de la confiance dans l’ordinateur, est-ce que vous voulez compléter sur les méthodes formelles ou sur un autre domaine ?

Fabien Tarissan : Non, la description est très claire. Par contre j’insisterais bien sur l’importance de cette nécessité de s’assurer de la sécurité des programmes qui sont écrits. On vient de voir avec les méthodes formelles des techniques extrêmement pointues qui sont justement ce sur quoi travaille Sylvie au quotidien dans ses recherches. On peut aussi aller regarder à l’autre bout de la chaîne, notamment quand on enseigne la programmation aux plus jeunes ou d’ailleurs aux moins jeunes. On n’enseigne pas simplement le fait d’être capable d’écrire des programmes c’est-à-dire de bien connaître les mots clefs du langage et comment ils s’organisent, mais on enseigne aussi la bonne pratique. La bonne pratique de la programmation elle vise quoi ? Justement à s’assurer qu’il y ait le moins d’erreurs possibles lorsqu’on écrit un programme. En fait, même si l’algorithme est clair dans notre tête, on ne se lance pas bille en tête dans l’écriture d’un programme, on passe par des phases dans lesquelles on évalue ce que va être ce qu’on appelle la spécification d’un programme, donc qu’est-ce qu’il va prendre en entrée, quel type de données il va prendre en entrée, quel type de données il va renvoyer en sortie dans son calcul, quelles sont les contraintes ou les hypothèses qui sont portées sur ces données. On essaye d’évaluer des batteries de tests sur lesquels on va ensuite tester son programme. Il y a toute une dynamique, un processus qui participe d’une bonne pratique d’écriture des programmes et qui est en lien avec cette nécessité de s’assurer que les programmes sont corrects.

Frédéric Couchet : D’accord. On va revenir sur ce sujet et on abordera aussi celui de l’enseignement. D’abord on va faire une petite pause musicale qui va être relativement courte. Aujourd’hui ce ne sont que des pauses musicales relativement courtes, encore une fois choisie par notre programmateur musical Éric Fraudain.
Nous allons écouter Welcome back par Cloudkicker. On se retrouve juste après. On vous souhaite une belle journée à l’écoute de Cause Commune, la voix des possibles.

Pause musicale : Welcome back par Cloudkicker.

Deuxième partie

Frédéric Couchet : Nous venons d’écouter Welcome back par Cloudkicker