English

Culture hacker et peur du WYSIWYG

Eric Schrijver

Traduit de l’anglais
par Redrick Shouhart

Ce texte est extrait d’un article initialement paru sur Mediamatic et i.liketightpants.net 11 i.liketightpants.net est un blog créé par Eric Schrijver en 2010. (N.D.É.) en mai 2014. Il a été écrit dans le contexte d’une résidence des éditions BAT à La Panacée (Centre de culture contemporaine à Montpellier), où Eric Schrijver, Alexandre Leray et Stéphanie Vilayphiou (Open Source Publishing) initièrent une réflexion sur les modalités de l’écriture en ligne.

En 2004, j’ai découvert le site Web de Mediamatic 22 L’interface de 2016 ne semble pas avoir substantiellement changée depuis 2004. (N.D.É.), un magazine, une plateforme et une organisation artistique d’Amsterdam. […] Ce dernier propose une expérience d’administration totalement inédite : en mode « édition », la page Web ressemble fortement à celle que le visiteur verra à l’écran. Lorsque l’on modifie un titre, ce dernier conserve ses paramètres de corps et de style. J’avais depuis longtemps été habitué à l’utilisation de systèmes de gestion de contenus [CMS] offrant des champs de saisie mornes, dénués d’attributs visuels autres que ceux « par défaut » des navigateurs Web, et qui séparaient entièrement le texte saisi de sa forme finale. Le fait de pouvoir passer outre l’esthétique prédéfinie du navigateur, et d’éditer le contenu dans le style même du site, fut une véritablement révélation pour moi — même si les logiciels de bureau ont montré que c’était possible depuis fort longtemps. […]

Si l’on s’intéresse à l’expérience d’écriture offerte par WordPress, la plus populaire des plateformes de blogging, la première chose que l’on remarque est que l’espace d’édition des billets est foncièrement différent de l’espace visité par le lecteur ; en tant qu’éditeur, vous êtes logés à « l’arrière-plan » [« in the ‹ back end › »]. Il y a bien quelques ressemblances entre l’interface d’édition et l’article publié : les titres sont plus gros que le corps du texte et les italiques se transforment en italique. Mais la police de caractère ne correspond pas à celle des billets postés, pas plus que la longueur des lignes, l’interlignage et ainsi de suite. L’insertion de certains autres types de contenus ne fait même appel à aucun élément visuel. Ainsi, pour intégrer des vidéos de YouTube ou d’autres plateformes équivalentes, il est nécessaire d’utiliser des shortcodes [raccourcis texte].

Au regard des considérations technologiques, ce qui était possible en 2004 devrait toujours être possible aujourd’hui — les standards du Web n’ayant cessé de progresser, intégrant sans cesse de nouvelles fonctionnalités, à l’instar de l’attribut contentEditable qui permet de rendre éditable une partie d’une page Web quasiment sans script supplémentaire. Mais où sont passés les systèmes de gestion de contenu qui tirent parti de ces technologies ? […]

Le paradigme informatique dominant et son contrepoint

On appelle WYSIWYG (What You See Is What You Get, « Ce que tu vois est ce que tu obtiens ») une interface [permettant d’éditer un document en pouvant visualiser en temps réel son aspect final publié à l’écran ou imprimé], expression datant des premières interfaces graphiques utilisateur [GUI]. Le Macintosh d’Apple [1984] proposa les premiers programmes WYSIWYG grand public, puis les systèmes d’exploitation Windows 3.1 [1992] et plus particulièrement Windows 95 [1995] en firent un modèle dominant. Un logiciel de traitement de texte comme Word [1983] représente désormais le stéréotype de l’interface WYSIWYG : l’édition s’effectue dans une interface qui ressemble autant que possible au résultat obtenu à l’impression. La plupart des designers graphiques travaillent également avec des logiciels de type WYSIWYG : ce paradigme de travail concerne des programmes tels que Illustrator [1987], InDesign [1999], Photoshop [1990], Gimp [1995], Scribus [2003] ou encore Inkscape [2003].

Cependant, ce n’est pas parce que le WYSIWYG est le paradigme dominant des interfaces […] qu’il est le seul modèle utilisé. Michael Lopp (Rands), développeur et auteur, montre que les nerds ont une autre utilisation de l’ordinateur. D’après son guide The Nerd Handbook 33 Michael Lopp, « The Nerd Handbook », Randsinrepose, 2007, [En ligne], http://b-o.fr/nerd :

« Alors que tout le monde flâne ici et là, s’emparant de polices de caractères tape-à-l’œil pour décrire leur monde, le nerd, pour sa part, a soigneusement choisi une police à chasse fixe ; il l’utilise sans relâche afin d’appréhender le monde en toute habileté par le biais d’une interface en lignes de commande, tandis qu’autour de lui la majorité se déplace en tâtonnant avec la souris. »

Rands décrit un nerd imaginaire qui utilise un environnement utilisateur en mode texte afin d’interagir avec son ordinateur. Il évoque la « ligne de commande », un type d’interface informatique nécessitant de saisir des commandes au clavier pour interagir avec sa machine. […] Mais quel genre de personne aime vraiment utiliser un ordinateur de cette manière ? […]

Les développeurs sont les gardiens du temple

Depuis la révolution de la publication assistée par ordinateur [PAO] des années 1990, les designers graphiques sont capables de réaliser leurs propres mises en page sans l’intervention d’ingénieurs. Dans la plupart des cas, ce qui se passe sur le Web est d’un tout autre ordre : l’exécution des sites Web est in fine prise en charge par des développeurs. Ces derniers ont donc souvent leur mot à dire dans le choix de la technologie employée pour créer un site. Rien de plus normal, dès lors, que les valeurs et préférences des développeurs se reflètent dans ces décisions. […] Ainsi, à l’inverse du design de supports imprimé, les technologies de programmation utilisées pour la création des sites Web (langages de programmation, bibliothèques logicielles, systèmes de gestion de contenu, etc.) sont presque toujours des logiciels libres et/ou disponibles en opensource ; les systèmes de gestion de contenu commerciaux intègrent même fréquemment des éléments de code open source. […]

La culture hacker

La programmation n’est pas qu’une activité ; elle fait partie intégrante d’une culture. Cette culture, qui intègre les métadiscours de l’informatique, peut être appelée « culture hacker ». Si je devais la définir, je dresserais le portrait de deux célèbres développeurs aux pratiques différentes, mais qui partagent néanmoins un ensemble de références où le concept de « hacker » est prépondérant.

Nous avons d’un côté, le cas de Richard Stallman, un des fondateurs du mouvement du logiciel libre [Free Software Movement] et infatigable activiste de la « liberté du logiciel ». Il a développé les éléments essentiels de ce qui deviendra le système d’exploitation […] GNU/Linux [1991], et est tout aussi connu pour ses écrits pionniers, comme ceux de la licence GPL 44 Voir : Richard Stallman, « On Hacking », Stallman, 2002, [En ligne], http://b-o.fr/on-hacking. […] De l’autre côté, Paul Graham, millionnaire de la Silicon Valley et capital-risqueur, a transformé sa propre expérience d’entrepreneur en modèle : démarrer avec un petit groupe d’une vingtaine de programmeurs/entrepreneurs, créer une entreprise qui cherchera à croître aussi vite que possible, attirer des financements, échouer, être racheté, ou, dans de rares cas, devenir une multinationale cotée en bourse. Cette vision est définie et mise en œuvre au sein de son « incubateur » Y Combinator 55 Cet incubateur a investi dans plus de 900 start-up (dont Airbnb, Dropbox et Scribd) et organisations à but non lucratif. En 2016, la valorisation totale de ces entreprises dépassait 69 milliards de dollars. (N.D.É.) [2005]. […] Graham a écrit un article sur la signification d’être hacker 66 Voir : Paul Graham, « The word ‹ Hacker › », Paulgraham, 2004, [En ligne], http://b-o.fr/hacker et a dirigé un [agrégateur d’articles] et forum de discussion très populaire intitulé Hacker News [2005]. Il définit ainsi les fondateurs des start-up comme des hackers.

Le fait que Stallman et Graham partagent une certaine culture se manifeste par leur conviction commune selon laquelle la figure du hacker est à mille lieues de l’usage courant, habituellement considéré comme un fouineur s’introduisant illégalement dans des systèmes informatiques. Pour la culture hacker, il est fondamental de contester cette vision grand public : [le journaliste et chercheur] Douglas Thomas décrit cette contradiction dans l’introduction passionnante de Hacker Culture 77 Douglas Thomas, Hacker Culture, Minneapolis, University of Minnesota, 2002.. [L’anthropologue et auteure] Enid Gabriella Coleman mène également une analyse anthropologique détaillée d’une partie de la culture hacker dans Coding Freedom 88 Enid Gabriella Coleman, Coding Freedom: The Ethics and Aesthetics of Hacking, Princeton, Princeton University Press, 2012., bien qu’elle semble s’intéresser davantage aux plus idéalistes des développeurs de logiciels libres qu’au poids des dollars de la Silicon Valley dans la constitution de la culture hacker.

Or, on ne peut pas négliger cette tension : bien que la révolution des hackers soit propice à l’essor de nouvelles conceptions de la technologie, de la propriété et de la collaboration, cette dernière n’en est pas moins financée par des personnes travaillant main dans la main avec le pouvoir. La culture hacker, qui fleurit dans les universités américaines au milieu des années 1960, ne put exister que grâce aux importants financements accordés par le ministère de la Défense des États-Unis. Aujourd’hui, beaucoup de développeurs impliqués dans le logiciel libre et l’open source travaillent pour Google.

Ceux que les souris effrayent

Voici une anecdote qui permettra d’éclaircir les rapports qu’entretiennent la culture hacker et les interfaces utilisateur. Dans un entretien consacré à sa pratique informatique, Richard Stallman, le pape des hackers, semble véritablement incarner le nerd archétypal fuyant les interfaces graphiques que décrit Rands dans son article.

« Je passe la plus grande partie de mon temps penché sur [l’éditeur] Emacs 99 Le programme Emacs (Editing MACroS), créé en 1976 par Richard Stallman, est un terminal de commande fonctionnant en mode texte, très populaire parmi les développeurs, qui permet d’effectuer l’ensemble des tâches courantes (naviguer sur le Web, envoyer des mails, développer et compiler des programmes, lire un fichier, etc.) (N.D.É.). Je le fais tourner dans une console de texte pour ne pas avoir à me soucier de toucher sans le vouloir le pavé tactile de la souris et de déplacer le curseur, ce qui pourrait me gêner. Je lis et envoie mes mails avec Emacs (les mails occupent l’essentiel de mon temps). Je bascule vers l’interface graphique XConsole lorsque j’ai besoin de faire quelque chose de graphique, comme regarder une image ou un document PDF 1010 Voir l’entretien de Richard Stallman sur The Setup :http://b-o.fr/setup. »

Richard Stallman n’utilise même pas de souris. Bien que cela puisse passer pour une attitude marginale, il n’est pas le seul hacker à avoir fait ce choix, sans quoi, personne ne serait intéressé par Ratpoison [2000], un gestionnaire de fenêtre open source permettant de contrôler son ordinateur sans souris, la tuant ainsi métaphoriquement.

La souris fut inventée [à la fin] des années 1960 par Douglas Engelbart et intégrée au système Xerox [Alto en 1973] dont s’inspirera l’Apple Macintosh [1984]. Steve Jobs [cofondateur d’Apple] chargea [le designer] Dean Hovey de concevoir quelque chose de peu coûteux à produire, plus simple et plus fiable que la version créée par Xerox 1111 Malcolm Gladwell, « Creation Myth: Xerox PARC, Apple, and the Truth about Innovation », New Yorker, New York, Condé Nast, 2011, [En ligne], http://b-o.fr/parcNote de l’éditeur : voir aussi Alex Soojung-Kim Pang, « Mighty Mouse », Alumni.stanford.edu, 2002, [En ligne], http://b-o.fr/mouse. […] Cet objet se répandit ensuite dans les environnements PC et devint indispensable au commun des mortels après la généralisation du système d’exploitation Windows à la fin des années 1990. La souris fait partie du paradigme de l’interface graphique [WIMP], au même titre que le modèle d’interaction WYSIWYG. La domination de ces modèles d’interaction est liée à (et a sans doute permis) le développement commercial des ordinateurs, devenus omniprésents dans les années 1990. Stallman et ses disciples ne s’inscrivent pas dans cet héritage, et préfèrent se référer aux racines du paradigme informatique du hacker qui remontent à beaucoup plus loin : à une époque où les ordinateurs n’étaient pas encore « personnels » et durant laquelle tournait un système d’exploitation appelé Unix.

Unix, l’épopée Gilgamesh de la culture hacker

Le système d’exploitation Unix joue un rôle important dans la culture des développeurs. Conçu dans les années 1970 au sein de la société AT&T, il devint le système d’exploitation dominant de l’ère informatique des mainframes [ordinateurs « centraux »]. Dans cette configuration, un super ordinateur fait tourner le logiciel principal et différents utilisateurs se connectent à cet ordinateur depuis leur propre terminal. Chaque terminal est une interface qui permet à son utilisateur de saisir des commandes et d’en visualiser les résultats ; le calcul étant effectué par l’ordinateur central. Des variantes d’Unix furent utilisées à grande échelle dans le monde de l’entreprise et des universités. Le téléscripteur est la toute première interface des ordinateurs centraux : un téléscripteur électronique autorise l’utilisateur à adresser des commandes à l’ordinateur, et à imprimer les réponses exécutées. Tandis que les téléscripteurs étaient remplacés par des terminaux informatiques, c’est-à-dire par des terminaux-écrans à tube cathodique, les interfaces restèrent résolument minimales . Il est beaucoup moins coûteux [en termes de ressources matérielles] d’utiliser du texte pour créer des interfaces plutôt que de proposer des interfaces graphiques complètes, notamment lorsque ce qui s’affiche à l’écran doit être envoyé aux terminaux des utilisateurs depuis un ordinateur central. Quiconque a travaillé dans une grande entreprise dans les années 1980 ou 1990 se souvient de ces interfaces conçues pour une utilisation au clavier.

L’informatique se modifia en profondeur avec le succès des ordinateurs personnels. La vision de Bill Gates « d’un ordinateur personnel dans chaque maison 1212 Hannah Bae, « Bill Gates [Microsoft] 40th Anniversary Email: Goal was ‹ a computer on every desk › [with Microsoft software in it] », CNN, 2015, [En ligne], http:/b-o.fr/microsoft (N.D.É.) » devint réalité dans les années 1990. Un ordinateur personnel est autonome, du fait qu’il stocke ses données sur son propre disque dur et qu’il effectue lui-même les calculs. Le PC n’est pas freiné par la nécessité de faire constamment des aller-retour vers l’ordinateur central. Tandis que la vitesse des processeurs ne cessait d’augmenter, la saisie purement textuelle fut remplacée par des interfaces graphiques utilisateur de plus en plus sophistiquées.

Aux yeux du grand public, l’hégémonie du système d’exploitation Windows eut pour conséquence de donner des airs de relique à Unix — la conquête des foyers par ce système d’exploitation fut suivie d’une conquête des lieux de travail. Dans le film Jurassic Park, sorti en [1993], lorsque la jeune fille calée en informatique doit empêcher le système de sécurité informatique de rétablir le courant électrique, elle est surprise de constater qu’il fonctionne sous Unix.

La situation se renversa lorsqu’en [2001] le nouveau système d’exploitation d’Apple, MacOS X, eut recours à Unix [pour son architecture interne]. Dans le même temps […] le système d’exploitation GNU/Linux [1991], un clone d’Unix [1969] et fer-de-lance des mouvements du logiciel libre et de l’open source, gagnait en notoriété. Toutefois, même si macOS et GNU/Linux se basent sur la technologie [Unix] des ordinateurs centraux, ils sont utilisés dans un contexte radicalement différent. En effet, loin des mainframes, ces systèmes d’exploitation fonctionnent sur des ordinateurs personnels à interface graphique […], rendus ainsi accessibles aux utilisateurs ayant grandi avec Windows et Mac OS [versions 9 et antérieures, dites « Classic »].

Tout à coup, une nouvelle génération de développeurs s’est approprié Unix, qui, en réalité, n’eut jamais à l’utiliser sur son lieu de travail, et qui a totalement oublié le rejet de ce système advenu quelques années plus tôt et s’intéresse encore moins aux raisons de sa mise au placard […]. Alan Kay 1313 Alan Kay, né en 1940, est un informaticien américain ayant travaillé chez Xerox au début des années 1970 sur les premiers langages orientés objet (Smalltalk). Il fut également un des principaux concepteurs de l’ordinateur personnel. (N.D.É.) [pionnier de l’informatique personnelle] affirme ainsi [en 2004] que la culture de la programmation est amnésique 1414 Stuart Feldman, « A Conversation with Alan Kay », Queue, vol. 2, no 9, New York, ACM, 2004, pp. 20-29.. La manière dont Unix est utilisé aujourd’hui est très différente des années 1970, mais ce système et les valeurs qu’il véhicule sont devenus des vecteurs d’identification transgénérationnels pour la culture hacker. […]

Unix a été décrit [par l’écrivain de science-fiction Neal Stephenson] comme « l’épopée Gilgamesh de notre temps 1515 L’Épopée de Gilgamesh est un récit légendaire de la Mésopotamie ancienne et fait partie des premières œuvres littéraires de l’humanité. Voir : Neal Stephenson, In the Beginning… Was the Command Line, New York, William Morrow, 1999. (N.D.É.) », car son statut est celui d’un artefact complexe, vivant et adulé. Sa nature épique est la conséquence de sa faculté à se transformer, à se développer constamment, et à embrasser néanmoins un ensemble de normes et de protocoles : flexibilité, simplicité graphique, interfaces épurées, ouverture, communicabilité, transparence et efficacité 1616 Neal Stephenson, Ibid., et Mike Gancarz, The Unix Philosophy, Boston, Digital Press, 1995. (N.D.É.). « Unix est connu, aimé et compris par tant de hackers», nous explique Neal Stephenson, « qu’il peut être au besoin recréé de A à Z » 1717 Neal Stephenson, ibid., et Enid Gabriella Coleman, op. cit., p. 37. (N.D.É.).

La suprématie du texte brut

S’il existe une lingua franca au cœur d’Unix, c’est bien le « texte brut [plain text] ». Le système Unix est né à une époque où les utilisateurs saisissaient les commandes par le biais de téléscripteurs. La majorité des commandes de base fonctionnent encore ainsi, et […] prennent la forme de lignes de textes possédant une syntaxe destinée à enchaîner des instructions. Ainsi, une opération effectuée par un premier programme peut servir de données de base à un second en n’entrant qu’une seule ligne. Cette capacité de « chaîner » les commandes par le biais de pipes [tubes] provient du fait que tous les programmes Unix partagent le même format de données entrantes et sortantes : le texte brut. Le programme le plus important dans la vie d’un hacker est donc l’éditeur de texte. Contrairement à un logiciel de traitement de texte comme Word, un éditeur de texte rend visible le texte brut d’un fichier, sans mise en forme. Les développeurs travaillent aujourd’hui avec ces programmes, en éditant des fichiers de texte brut [contenant du code] organisés dans des dossiers. […]

Lorsque l’on programme, il est nécessaire d’apprendre à créer un modèle mental de l’objet programmé 1818 Voir : Jeff Johnson, Designing with the Mind in Mind. Simple Guide to Understanding User Interface Design Rules, Burlington, Morgan Kaufmann, 2010. (N.D.É.). Dans la mesure où un développeur n’a affaire qu’à son code, il doit imaginer le résultat final tout en programmant — puis compiler et […] s’assurer que sa projection était correcte. […] Même si le WYSIWYG implique une boucle de rétroaction plus rapide [que les interfaces textuelles], il ajoute aussi une certaine complexité. Quiconque a utilisé Word connaît bien le problème : après avoir appliqué plusieurs strates de mise en forme, le comportement du document devient imprévisible : la suppression d’un simple retour chariot peut entraîner le déraillage du formatage du paragraphe précédent. De tels problèmes arrivent lorsque la structure sous-jacente d’un document au format texte enrichi [rich text] […] reste opaque à l’utilisateur. L’extrême simplicité d’utilisation des interfaces d’édition WYSIWYG s’accompagne d’un certain nombre de limitations et d’une perte de contrôle sur la structure des documents, ce qu’un hacker n’est sans doute pas prêt à accepter. […]

L’influence de la culture hacker freine la conception d’interfaces

[…] Modelés par la culture Unix, par le texte brut et par leur pratique de programmation, les interfaces WYSIWYG n’intéressent pas la plupart des développeurs de l’open source. Les développeurs, suivant le principe « qu’on n’est jamais mieux servi que par soi-même », travaillent sur des interfaces qui leur conviennent […]. L’offre de bibliothèques logicielles [libraries] WYSIWYG reste ainsi bien maigre. Même si l’attribut HTML5 contentEditable [facilitant la conception d’interfaces WYSIWYG] existe depuis longtemps, il reste peu utilisé. Par conséquent, les navigateurs Web ne l’ont pas tous intégré de la même manière [décourageant donc encore un peu plus les développeurs de se l’approprier]. Le manque d’intérêt pour les nouveaux éditeurs WYSIWYG implique que les futures interfaces de ce type présenteront les mêmes problèmes d’instabilité que ce qui existe actuellement, renforçant d’autant plus la méfiance des développeurs. [C’est un cercle vicieux.] Il n’existe, à ma connaissance, que deux moteurs d’édition basés sur l’attribut contentEditable : Aloha 1919 Aloha Editor est un moteur d’édition WYSIWYG de pages Web. Développé en JavaScript, Aloha a pour but d’établir une alternative à l’attribut HTML5 contentEditable. Le développement de la deuxième version, qui avait pour but d’être rentable, a été stoppé en mai 2016. La première version, placée sous licence libre GPL, est toujours maintenue. Voir : http://b-o.fr/aloha (N.D.É.) [2010] et Hallo.js 2020 Hallo.js est un logiciel libre (MIT License) permettant d’éditer le contenu de pages Web. Il s’agit d’un plug-in jQuery UI développé en JavaScript qui fut initié par Henri Bergius en 2013. Voir : http://hallojs.org (N.D.É.) [2013]. Aloha est très mal documenté et sa masse de code le rend difficile à appréhender. Hallo.js prend une direction plus légère, mais reste trop limité puisqu’il n’est pas possible, par exemple, d’insérer des liens ou des images. […]

Si le WYSIWYG était un peu moins tabou dans la culture hacker, des solutions intéressantes croisant texte brut et mise en forme graphique émergeraient probablement. Un bon exemple est la fonction « révéler les codes » 2121 Voir : Erik van Blokland, « The Underwater Screen or Lessons From WordPerfect », I.like tight pants.net, 2014, [En ligne], http://b-o.fr/wordperfect de WordPerfect [1980], le logiciel de traitement de texte le plus populaire avant l’avènement de Word. Lorsque vous vous trouviez confronté à un problème de mise en forme, cette fonction permettait de révéler la structure des instructions de formatage — ce qui n’est pas sans rappeler l’inspecteur DOM des navigateurs Web récents. Des exemples d’interfaces plus radicales combinant l’immédiateté de la manipulation directe d’éléments et la puissance de la programmation existent dans certains logiciels. Le programme 3D Blender [1995] propose ainsi une intrication intéressante entre interface visuelle et interface texte 2222 Des logiciels comme AutoCAD ou After Effects proposent en partie des principes similaires. (N.D.É.). Toutes les actions sont consignées sous la forme d’une suite de lignes de commandes qu’il est facile d’utiliser pour créer des scripts d’automatisation. La sélection d’un élément via l’interface graphique permet également de visualiser ce dernier dans la structure interne du document [DOM] et d’en faciliter ainsi l’accès par voie programmatique.

Il est également possible de créer un éditeur graphique qui fonctionne avec du HTML. Grâce au langage JavaScript, une interface Web dispose en effet d’un accès dynamique à tous les éléments d’une page. Cela permet d’imaginer toutes sortes d’interfaces dépassant les paradigmes existants, entre Word d’un côté et les éditeurs texte de l’autre. Le potentiel de ce langage est obtenu au détriment de la concision : pour être suffisamment flexible et permettre de travailler dans des situations variées, le langage HTML est relativement verbeux. Même si le standard HTML5 a d’ores et déjà apporté de nombreuses améliorations, ce dernier n’est toujours pas assez concis pour les adeptes de la culture hacker : d’où l’existence de solutions comme le langage de balisage Markdown. Cependant, imposer l’utilisation d’un format austère en texte brut revient à en refuser l’accès à des personnes de cultures différentes.

L’interface appropriée pour un écrivain pourrait ne pas être adaptée à une maison d’édition ou à un designer. […]