Alexandre Topol topol@cnam -...

82
NSY116 Alexandre Topol [email protected] Département d’informatique Conservatoire National des Arts et Métiers 2009-2010

Transcript of Alexandre Topol topol@cnam -...

NSY116

Alexandre [email protected]

Département d’informatiqueConservatoire National des Arts et Métiers

2009-2010

Alexandre Topol – NSY116 – Novembre 2009

Un peu d’histoire …Pr

oduc

tivité

Temps

Batch

Ligne decommande

GUI - WIMP

???

Alexandre Topol – NSY116 – Novembre 2009

Vannevar Bush

As we may think, Atlantic monthly (1945) :“publication has been extended far beyond our present ability to make real use of the record”

Memex : un instrument de mémoire externe (« Memory » and « Index »)– un instrument utilisé pour conserver ses livres, notes, archives, etc.– un système de mots clés, de références croisées et des mécanismes

d'indexation permettant d'accéder rapidement à l'information– la possibilité d'annoter les documents stockés et de sauvegarder un

"chemin" (une chaîne de liens)

Alexandre Topol – NSY116 – Novembre 2009

Memex

Alexandre Topol – NSY116 – Novembre 2009

J.R. Licklider

• Chercheur au MIT (psycho-acousticien)• Directeur de l’IPTO de l’ARPA (Information Processing

Techniques Office)• 1960 : propose l’idée de symbiose homme-machine

"The hope is that, in not too many years, human brains and computing machines will be coupled together very tightly and the resulting partnership will think as no human brain has ever thought"

Alexandre Topol – NSY116 – Novembre 2009

Les diodes et les cartes perforées

Alexandre Topol – NSY116 – Novembre 2009

Douglas Engelbart

Augmenting Human Intellect: A Conceptual Framework (1962)

"By augmenting man's intellect we mean increasing the capability of a man to approach a complex problem situation, gain comprehension to suit his particular needs, and to derive solutions to problems"

– traitement de texte structuré– hypermedia– la souris, le clavier à une main– écrans haute résolution– l'idée de fenêtrage– mobilier spécifique

– partage de fichier et annotations– messagerie électronique– partage d'écran, télépointeurs– audio et video-conférences– l'intuition d'Internet– ...

Alexandre Topol – NSY116 – Novembre 2009

Douglas Engelbart

Alexandre Topol – NSY116 – Novembre 2009

Ivan Sutherland

• SketchPad (MIT, 1963)– un outil de dessin en avance sur son temps

• Composition :– oscilloscope, stylo optique et boutons– désignation directe des objets à l'écran– feed-back sous forme de lignes– élastiques– séparation entre l'écran et les– coordonnées de dessin– zoom avant et arrière (facteur 2000 !)– structure hiérarchique, opérations récursives– système de gestion de contraintes– icônes pour représenter des objets complexes

Alexandre Topol – NSY116 – Novembre 2009

Ted Nelson

• Inventeur des termes hypertexte et hypermedia (1968)• Reprend et étend les idées de V. Bush à travers Xanadu,

un système de publication de documents à l'échelle mondiale

• Transclusion : inclusion sans copie d'un fragment de document dans un autre document

• ZigZag : structure pour données multidimensionnelles• Beaucoup d'idées mal comprises• Malgré tout, une influence non négligeable

Alexandre Topol – NSY116 – Novembre 2009

Les interfaces textuelles

• Interfaces à ligne de commande– dialogue purement textuel, proche du dialogue oral– syntaxe précise, mais structure du dialogue figée et potentiellement

complexe

• Menus et écrans de saisie– notion de statut courant de l'interaction :

le menu regroupe les commandes disponibles à un instant donné, l'écran de saisie regroupe les paramètres requis pour une commande donnée

VisiCalc d’Apple (1979)

Alexandre Topol – NSY116 – Novembre 2009

Le MIT

• Architecture Machine Group, Artificial Intelligence Laboratory, Media Lab...

• Quelques exemples de projets :– le langage Logo– les débuts de la multimodalité : association du pointage

et de la reconnaissance de la parole– langage naturel, synthèse de la parole et reconnaissance

de l'écriture

Alexandre Topol – NSY116 – Novembre 2009

SHRDLU

• Un programme capable de dialoguer en langage naturel

• Créé par Terry Winograd, au MIT, entre 1967 et 1970

• Buts– comprendre les mécanismes

du langage humain– offrir un moyen simple pour

dialoguer avec l’ordinateur

Alexandre Topol – NSY116 – Novembre 2009

GUS : the Genial Understander System

• Développé chez Xerox par T. Winograd et quelques autres dans les années 70

• Exemple de dialogue :GUS: Where would you like to go?User: I want to go to San Diego on July 17thGUS: Where will you be traveling to San Diego from?User: San JoseGUS: When do you want to return?User: I prefer United AirlinesGUS: OK, I have United Airlines from San Jose to San

Diego departing July 17. When do you want to return?

Alexandre Topol – NSY116 – Novembre 2009

Le Xerox PARC

• Palo Alto Research CenterCentre de recherche fondé en 1970

• Regroupement de talents qui s'intéressent à la photocopie mais aussi aux systèmes bureautiques

• Quelques inventions du PARC avant 1975 :– l'Alto, une station de travail avec écran bitmap et souris– le couper/copier/coller– l'idée de système de fenêtrage– l'imprimante laser– Ethernet et le réseau local

Alexandre Topol – NSY116 – Novembre 2009

Alan Kay

• L'un des fondateurs du Xerox PARC• Le père de l'informatique individuelle, inventeur de

l'ordinateur portable (Dynabook)• L'un des pères de l'interaction graphique et de la

programmation objet (Smalltalk)

"The best way to predict the futureis to invent it"

"Simple things should be simple,complex things should bepossible"

Alexandre Topol – NSY116 – Novembre 2009

Le Xerox Star

• Projet lancé en 1975, commercialisé en 198130 années-homme de travail pour un système destiné aux "business professionals"

• Quelques caractéristiques importantes :– conception matérielle guidée par les besoins logiciels– un système fonctionnant "naturellement" en réseau– une interface graphique basée sur la métaphore du bureau– l'utilisation d'icônes et de fenêtres et l'idée de WYSIWYG– un système centré sur les documents– ensemble restreint de commandes génériques

Alexandre Topol – NSY116 – Novembre 2009

Le Xerox Star

Alexandre Topol – NSY116 – Novembre 2009

Le Xerox Star

• Un échec commercial…– un système trop nouveau, trop puissant, trop différent...– une cible marketing mal évaluée (ex: pas de tableur)– un prix trop élevé ($16,500)– une architecture fermée (impossible de développer des

applications hors Xerox)– un manque de volonté politique pour sortir du marché

de la photocopie… mais une influence certaine sur les systèmes actuels

Alexandre Topol – NSY116 – Novembre 2009

Manipulation Directe

• Ben Shneiderman, 1982• Principes:

– Représentation continue des objets d'intérêt– Actions physiques plutôt qu'une syntaxe complexe– Actions rapides, incrémentales et réversibles dont les effets sont

immédiatement visibles– Approche progressive pour faciliter l'apprentissage

Alexandre Topol – NSY116 – Novembre 2009

L’Apple Lisa (1983)

• Inspiré du Star, un peu moins cher ($10,000)

• Mais … un nouvel échec commercial...

Alexandre Topol – NSY116 – Novembre 2009

L’Apple Macintosh (1984-)

• Une barre de menu, des boîtes de dialogue modales et des applications "visibles" héritées de l'Apple II

• Les raisons du succès :– des idées plus "mures", un marché prêt à les accepter– un prix agressif ($2,500) pour toucher le grand public– une boîte à outils pour faciliter les développements– guides de style détaillés pour consistance entre applications

Alexandre Topol – NSY116 – Novembre 2009

Le système X Window (1984-)

• Issu du projet Athena (MIT, 1983) : 4000 machines UNIX à connecter, fournies par les nombreux sponsors (DEC, IBM, Motorola, etc.)

• Modèle client/serveur :– séparation quoi/comment

qui facilite la portabilité– utilisation transparente du

réseau qui permet l'affichage déporté

• Séparation entre mécanismes et politique d'utilisation

Alexandre Topol – NSY116 – Novembre 2009

Le World-Wide Web

• Simplicité, esthétique : une croissance fulgurante…• Mais :

– des protocoles figés très rapidement

– des possibilités d'interaction extrêmement réduites

• On est encore loin des idées de Nelson ou Engelbart...Navigateur/éditeur de Tim Berners-Lee (CERN, 1990)

Alexandre Topol – NSY116 – Novembre 2009

Apple Mac OS (1984-)

Alexandre Topol – NSY116 – Novembre 2009

Apple Mac OS (1984-)

Alexandre Topol – NSY116 – Novembre 2009

Microsoft Windows (1985-)

Alexandre Topol – NSY116 – Novembre 2009

Microsoft Windows (1985-)

Alexandre Topol – NSY116 – Novembre 2009

Microsoft Windows (1985-)

Alexandre Topol – NSY116 – Novembre 2009

Linux (1994)

Alexandre Topol – NSY116 – Novembre 2009

Bryce

Alexandre Topol – NSY116 – Novembre 2009

Pendant ce temps dans les labos …

Alexandre Topol – NSY116 – Novembre 2009

Quelques définitions

• Système interactif

Un système interactif est un système dont le fonctionnement dépend d'informations fournies par un environnement externe qu'il ne contrôle pas [Wegner, 1997]

Les systèmes interactifs sont également appelés ouverts, par opposition aux systèmes fermés – ou autonomes – dont le fonctionnement peut être entièrement décrit par des algorithmes

Alexandre Topol – NSY116 – Novembre 2009

Quelques définitions

• Interface

L'interface est l'ensemble des dispositifs matériels et logiciels qui permettent à un utilisateur de commander, contrôler, superviser un système interactif

Alexandre Topol – NSY116 – Novembre 2009

Quelques définitions

• Interface

Alexandre Topol – NSY116 – Novembre 2009

IHM : I comme …

• Interface et/ou Interaction ?• L’interface désigne le vecteur (le média) par lequel deux

éléments communiquent• Un système interactif est composé des deux éléments et du

vecteur de communication

Alexandre Topol – NSY116 – Novembre 2009

IHM : I comme …

• Termes difficilement dissociables• Interactions : actions (mutuelles) entre acteurs• Interfaces : dispositifs (techniques), vecteurs de

communications

Alexandre Topol – NSY116 – Novembre 2009

IHM : HM comme …

… comme Homme (être humain)• des interfaces utilisables… comme Machine• des fonctionnalités utiles

Alexandre Topol – NSY116 – Novembre 2009

D’où la définition …

• L'Interaction Homme-Machine

L'Interaction Homme-Machine est une discipline consacrée à la conception, à la mise en œuvre et à l'évaluation de systèmes informatiques interactifs destinés à des utilisateurs humains ainsi qu'à l'étude des principaux phénomènes qui les entourent

Alexandre Topol – NSY116 – Novembre 2009

Pourquoi interaction et pas interface ?

• Les boutons, les menus, les couleurs ou les animations ne suffisent pas à rendre un système utilisable

• Comment se mesure l’utilisabilité ?– temps nécessaire pour apprendre– rapidité d’utilisation (benchmarks)– taux d’erreurs– facilité à se souvenir– satisfaction subjective– etc.

Alexandre Topol – NSY116 – Novembre 2009

Pourquoi interaction et pas interface ?

• Ce n’est pas seulement l’interface qui compte, mais l’interaction :– la séquence d’actions nécessaires pour accomplir une

tâche– l’adéquation entre le système et le contexte dans lequel

il est utilisé• Les deux sont indissociables dans les programmes

d’aujourd’hui

Alexandre Topol – NSY116 – Novembre 2009

Evolution de l'interface graphique

• Interfaces à lignes de commandedonnent accès à une commande (une fonction) du système

• Menus et écrans de saisiedonnent accès à une application (un sous-ensemble des fonctions du système)

• Multi-fenêtrage, interfaces iconiques et manipulation directe

donnent accès à l'ensemble des fonctions du système, et au-delà, à celles du réseau

Alexandre Topol – NSY116 – Novembre 2009

Evolution de l'interactivité

• Le degré d'interactivité d'un système peut se mesurer au nombre et à la nature de ses échanges avec les utilisateurs

• Deux éléments importants ont contribué à l'augmentation du degré d'interactivité :– la possibilité d'exécution en parallèle de plusieurs

tâches– l'avènement des interfaces graphiques

• Le nombre des échanges a beaucoup augmenté, mais leur nature n'a pas vraiment évolué

Alexandre Topol – NSY116 – Novembre 2009

Importance des IHM

• Constat : – L’informatique envahit la vie:

• au quotidien : PC, distributeur de billet, borne de réservation (avion-train), téléphone portable, etc.

– au travail : réseau, bureautique professionnelle• systèmes embarqués (airbus), etc.

– Or, tout le monde n’a pas les mêmes capacités• Question :

– que doit-on attendre d’une bonne interface ?

Alexandre Topol – NSY116 – Novembre 2009

Importance des IHM

• Les sous questions qui en découle : – interface invisible, facilité d’utilisation ?– apprentissage ?– universelle ?– évolutive (ajout de fonctionnalités), etc.

• Aspects socio-économiques (rejet, argument de vente) contre les aspects techniques (réalisation et utilisabilité)

Alexandre Topol – NSY116 – Novembre 2009

Importance des IHM

• IHM = carrefour des compétences• En informatique : ingénierie (génie logiciel), système,

développement• Psychologie cognitive• Ergonomie• Sociologie• L’approche est compliquée par l’intégration et la

généralisation de nouvelles techniques d’interaction

Alexandre Topol – NSY116 – Novembre 2009

Importance des IHM

1 - le matériel progresse sans cesse (Moore)

2 - les fonctionnalités promises aussi (Buxton)

3 - l’homme, lui, ne change pas, ou presque…

Limites des capacités de perception et d'action : le temps de la frustration !

Alexandre Topol – NSY116 – Novembre 2009

Concevoir un système interactif

• Méthode de conception– Centrée utilisateurs– Conception participative

• Connaissance de l’être humain– Psychologie de la perception– Sciences sociales

• Outils de conception– Boîte à outils, langages– Ingénierie de l’interaction

• Design– Art graphique et audio, typographie

Alexandre Topol – NSY116 – Novembre 2009

En marge de cette UE …

• Valeur IHM– Ergonomie des IHM– Programmation IHM web

• Valeur B IMASON– Bases de la 3D

• Valeur C Jeux vidéos– Outils et logiciels de production 3D– Programmation multimédia

Alexandre Topol – NSY116 – Novembre 2009

IHM : un domaine pluridisciplinaire

Alexandre Topol – NSY116 – Novembre 2009

Interfaces WIMP

Windows (fenêtres)IcônesMenus, boîtes de dialogue, etc.Pointage, sélection, tracé

• Avantages :– apprentissage rapide– environnements standards– des techniques d'interaction simples à utiliser et à

programmer• Comment en est-on arrivés là ?

Alexandre Topol – NSY116 – Novembre 2009

Périphériques d’entrée

• Claviers, boîtes à boutons• Potentiomètres (rotatifs, linéaires)• Souris, tablettes, joystick, trackball• Ecrans tactiles, crayons optiques• Capteurs de position et de direction• Dispositifs simulés

Alexandre Topol – NSY116 – Novembre 2009

Localisation

• Absolue (sans prise en compte de la position précédente)– tablette, écran tactile, crayon optique

• Relative– souris, joystick, trackball

• Directe (sans transformation des coordonnées)– écran tactile, stylo optique

• Indirecte– souris, joystick, trackball, tablette

Alexandre Topol – NSY116 – Novembre 2009

Modèle graphique

• Un modèle graphique est :– un ensemble de primitives graphiques– un ensembles d'attributs graphiques– une sémantique graphique

• Trois grands modèles :– Pixellaire – bitmap– vectoriel 2D– vectoriel 3D

• Exemples : Windows, MacOS et X Window sont basés sur des modèles graphiques pixellaires et vectoriels 2D

Alexandre Topol – NSY116 – Novembre 2009

Système de fenêtrage

• Buts : permettre à plusieurs applications de partager l’écran et les périphériques d’entrée

• Une fenêtre est une zone autonome pour l’affichage et/ou l’entrée de données

• Fonctions du système de fenêtrage :– affectation des périphériques d’entrée (focus)– gestion de session (ouverture, fermeture, etc.)– communication entre applications– gestion des différentes fenêtres

Alexandre Topol – NSY116 – Novembre 2009

Peu de choses ont changé depuis Xerox Star

• Ecran virtuel

• Galleries (rooms)

• Utilisation de multiples écrans réels

Alexandre Topol – NSY116 – Novembre 2009

Pourtant beaucoup de choses ont changé …

• Les activités se multiplient– traitement de texte, tableur– Jeux– édition d’images, de sons et de vidéos– courrier électronique– Web– messagerie instantanée– media players– etc.

Alexandre Topol – NSY116 – Novembre 2009

Pourtant beaucoup de choses ont changé …

• Les technologies d’affichage ont évolué

• Les applications aussi– elles utilisent de plus en plus de fenêtres (PowerPoint X

a 13 palettes, Photoshop 7.0 en a 17)– elles semblent conçues pour utiliser tout l’écran

Alexandre Topol – NSY116 – Novembre 2009

Le pari d’Apple : le GPU plus fort que le CPU

• CPU (Moore) : les performances doublent tous les 18 moisG5 = 58 millions de transistors

• GPU : les performances doublent tous les 6 moisGeForce 7800GTX = 222 millions de transistorsRadeon 9600 Pro = 75 millions de transistorsGeForce FX 5200 = 45 millions de transistors

• 2001: Quartz Extreme– “window system as a

digital image compositor”– de nombreux effets

(“because we can”)

Alexandre Topol – NSY116 – Novembre 2009

Les Widgets

• Le widget est un objet graphique interactif• Il a trois facettes

– présentation : aspect graphique, plus ou moins paramétrable (ex : ressources Xt)

– comportement : réactions aux actions de l'utilisateur, généralement, peu ou pas paramétrable

– interface d'application : lien avec l’application, notification des changements d'état

• Intérêt : permet d’établir des styles d’interaction standard• Facilite l’apprentissage et la réutilisation de code

Alexandre Topol – NSY116 – Novembre 2009

Les Widgets

• Permettent d’effectuer les tâches élémentaires d’interaction

– saisie

– sélection

– déclenchement

– défilement

– spécification d'arguments et de propriétés

• Cette liste n’est pas exhaustive

Alexandre Topol – NSY116 – Novembre 2009

Evolution des widgets

• Widgets de base du Macintosh (1984) :– bouton (button)– potentiomètre (slider)– menu déroulant (pull-down menu)– case à cocher (checkbox)– bouton radio (radio button)– champ texte (text field)– boîte de dialogue pour les fichiers (file open/save

dialog)• Ajouts ultérieurs : menus hiérarchiques, listes, combo box,

tabs, listes hiérarchiques

Alexandre Topol – NSY116 – Novembre 2009

Construction d’interfaces : plusieurs couches

• Bibliothèques de base– bibliothèque graphique, système de fenêtrage– gestion des entrées/sorties– intégration dans le système d’exploitation

• Boîtes à outils– architecture permettant de structurer l’application– services programmables (ex : préférences,

copier/coller)– widgets réutilisables (ex : boutons, menus)

• Générateurs et langages de scripts

Alexandre Topol – NSY116 – Novembre 2009

Boîtes à outils

Exemple Tcl/Tk (portable et gratuit) :button .b -text "Hello world" -command exitpack .b

Alexandre Topol – NSY116 – Novembre 2009

Générateurs d’interfaces

• But : aider (automatiser ?) la mise en oeuvre d’interfaces• De nombreux noms

– User Interface Management Systems (UIMS)– User interface builder– User interface development environment

• Principe– placer les widgets, modifier leurs attributs (couleur,

etc.)– les connecter à l’application– tester leur comportement

• Exemples : Visual *, Interface Builder

Alexandre Topol – NSY116 – Novembre 2009

Générateurs d’interfaces

• Inconvénients : What You See Is All You Get– solutions partielles– le code reste à écrire…– difficile de modifier le code généré

Alexandre Topol – NSY116 – Novembre 2009

Lien widget - application

• Fonctions de rappel (callbacks)– enregistrées dans le widget à sa création

– appelées lorsqu’une opération du widget est activé

Alexandre Topol – NSY116 – Novembre 2009

Programmation événementielle

• Evénements liés aux périphériques– entrée/sortie du curseur dans une fenêtre– utilisation d'un des boutons– frappe au clavier– etc.

• Evénements liés aux applications– création/destruction de fenêtre– réaffichage– autre

Alexandre Topol – NSY116 – Novembre 2009

Programmation événementielle

• Application non-interactive : “start, do something, stop”• Ancienne façon de voir les applications interactives : de

temps en temps, le système pose des questions à l’utilisateur

• Version plus moderne– l’utilisateur contrôle l’application– celle-ci attends un signe (notion de boucle principale

dans laquelle sont traités les événements)– de nombreux états à conserver… c’est compliqué !

• La solution de facilité : l’utilisation de modes

Alexandre Topol – NSY116 – Novembre 2009

Quoi qu’est-ce un mode ?

• Un mode est un état de l'interface dans lequel les actions de l'utilisateur sont interprétées de façon homogène et différentes des autres modes

• Inconvénient des modes : ils restreignent les fonctions disponibles à un moment donné et obligent l'utilisateur à se souvenir des changements d'état de l'application pour connaître les effets de ses actions

Alexandre Topol – NSY116 – Novembre 2009

Modes d'interaction

• Modes spatiauxla même action en différents endroits produit des effets différents

• Modes temporelsla même action à des moments différents produit des effets différentsproblème : initiative du changement de mode

• Micro-modesmodes liés à une action physique

Alexandre Topol – NSY116 – Novembre 2009

L’architecture MVC

• Origine :– modèle issu de Smalltalk-80– adopté par de nombreuses boîtes à outils (Java AWT,

Microsoft MFC, …)• Principe :

– le modèle correspond aux données de l'application (structures et fonctions)

– la vue présente des informations à l'utilisateur à partir des données du modèle

– le contrôleur se charge de l'interaction avec l'utilisateur

Alexandre Topol – NSY116 – Novembre 2009

L’architecture MVC

Alexandre Topol – NSY116 – Novembre 2009

Manipulation directe

• 3 principes fondamentaux (B. Shneiderman, 1983)– représentation permanente des objets et actions d'intérêt– utilisation d'actions "physiques" (ex : pointer, déplacer)

plutôt que des commandes à la syntaxe complexe– opérations rapides, incrémentales et réversibles, dont

les actions sur les objets sont immédiatement visibles"Point and click instead of remember and type"

Alexandre Topol – NSY116 – Novembre 2009

Manipulation directe

• Mise en oeuvre– utilisation de représentations graphiques métaphoriques– approche sujet-verbe (-compléments)

• Avantages– actions génériques (ex: copier)– possibilité d'apprentissage rapide, par démonstration

par exemple

Alexandre Topol – NSY116 – Novembre 2009

Couplage perception/action

• Agir pour percevoir– perception de la profondeur par des mouvements de la

tête– perception de la texture d'un objet en déplaçant le doigt

sur sa surface– Lancer une tâche pour la voir s’exécuter

• Percevoir pour agir– ajuster les mouvements du bras pour saisir un objet– Lancer une nouvelle tâche après notification que la

tâche précédente est terminée• Importance de la continuité de ce couplage

Alexandre Topol – NSY116 – Novembre 2009

Le feedback (retour d’information)

• Pointage

• Sélection

• Tracé, déplacement, transformation

Alexandre Topol – NSY116 – Novembre 2009

Métaphore

• Problèmes lié à la manipulation directe : quels sont les objets d'intérêt ? comment les représenter ?

• Métaphore : utilisation de concepts connus de l’utilisateur pour introduire le modèle conceptuel du système

• Avantage : modèle naturel qui facilite l'apprentissage, l’utilisateur anticipe le comportement du système

• Dangers : trop esthétique, trop restrictive (ex : trop fidèle)• Métaphores du monde réel

– métaphores spatiales : bureau, pièce, etc.– métaphores sociales ou techniques : théatre, télévision

Alexandre Topol – NSY116 – Novembre 2009

Les piles

Mander, Salomon & Wong, CHI 1992

Alexandre Topol – NSY116 – Novembre 2009

LifeStreams

Fertig, Freeman & Gelernter, CHI 1996

Alexandre Topol – NSY116 – Novembre 2009

Mais aussi …

Alexandre Topol – NSY116 – Novembre 2009

Quelques références

P. Wegner. "Why interaction is more powerful than algorithms". Communications of the ACM, 40(5):80-91, May 1997.J. Johnson al. (1989) "The Xerox Star: A Retrospective". IEEE Computer, September 1989.B. Myers. "A brief history of human-computer interaction technology". ACM interactions, 5(2):44-54, March/April 1998.

http://www.computerhistory.org/

Remerciements à Nicolas Roussel et Stéphane Conversy pour leurs supports de cours