Gribouillis dans les marges

Gardons le simple !

J’ai difficilement pondu ce machin il y a quelques jours, et à la relecture n’en comprend plus l’intérêt, mais bon, je fais du ménage dans mes brouillons

J’ai eu la chance de découvrir le monde merveilleux des ordinateurs à l’époque des premiers balbutiements de la micro-informatique. À l’époque, tout était simple. Il n’y avait pas d’applications, donc chaque ordinateur arrivait avec quelques outils pour créer ses propres logiciels. Généralement un interpréteur pour un langage très simple, comme BASIC. On éditait un fichier texte, on tapait trois lignes ésotériques, RUN MONPROGRAMME, SYNTAX ERROR et on recommençait jusqu’à l’extase, ce moment où on s’émerveillait d’avoir dessiné un arc-en-ciel en gros pixels. C’est grâce à cette simplicité que je me suis lancé dans la programmation, que j’ai appris à bidouiller. Cet âge n’a duré que quelques années. Rapidement, la programmation est devenue un truc sérieux, nécessitant d’installer un IDE, un compilateur, de manipuler des couches d’abstractions… La simple curiosité ne suffisait plus, il fallait vraiment en avoir envie, et disposer de quelques connaissances préalables, pour se mettre à coder. Nous avons alors cessé de bidouiller nos machines pour en devenir simples utilisateurices.

Puis est venu le Web, et un deuxième âge d’or de l’initiation à la bidouille. Bidouiller, s’initier à la programmation, était à nouveau extrêmement simple, accessible à toutes et tous sans rien installer. Un éditeur de texte et un navigateur Web suffisaient pour commencer à s’amuser avec HTML puis CSS, JavaScript pour les plus téméraires. BASIC a ressuscité sous le nom de PHP, les hébergements mutualisés gratuits ont allumé les LAMP, et une nouvelle génération a commencé à bidouiller, armée simplement de Notepad et IE. Le Web a à nouveau rendu l’initiation à la bidouille accessible : ses technologies étaient ouvertes, utilisables gratuitement et relativement bien documentées, y compris en français (reconnaissance éternelle à Karl et OpenWeb), et se lancer ne demandait pas un long et fastidieux apprentissage, juste un peu de curiosité. Nouvel bref âge d’or.

J’ai été l’autre jour effrayé par une présentation sur les outils utilisés par un projet Web dans le vent. Quarante diapositives listant chacune plusieurs outils. Une interminable litanie de noms jetés à la figure de quiconque voudrait participer au projet. De mon point de vue, une infranchissable montagne, qui découragerait jusqu’aux plus masochistes. Pourtant, les développeurs du projet sont gentils, bien intentionnés, ils ont tout assemblé dans une boite noire. Un machin magique qui fait presque tout. Il suffit d’installer quelques tonnes d’engrenages de toutes sortes, de choisir la couleur des murs, d’appuyer sur un bouton et la machinerie se met en marche, créant, après de longues minutes d’intenses calculs qui feront fumer le CPU, une application. Aujourd’hui, on a l’impression que si on veut créer les moindres sites ou applications Oueb, il faut soit ingurgiter les documentations de mille et un outils (qui seront passés de mode avant même que que l’on ai fini de lire leur manuel), soit renoncer à comprendre et utiliser aveuglément des incantations magiques qui exploseront à la figure dès qu’on voudra sortir un peu des clous. Bref, que bidouiller le Web est une tâche plus complexe que d’envoyer des hommes sur la lune, demandant des années d’investissement acharné pour maîtriser une foultitude d’outils. Et cela m’attriste.

Je pense qu’essayer de masquer la complexité des procédures que l’on a mises en place derrière une boite noire est une fausse bonne idée. Comme prétendre qu’il n’y a pas d’autre moyen de voler que de piloter un quadrimoteurs à réaction, mais que c’est à la portée de tout le monde, puisqu’il y a le pilote automatique. Tout le monde n’a pas besoin, pour créer une application Web, de trois niveaux d’abstraction, de compilateurs, d’outils pour reformater le code, d’intégration continue… Laissons le choix à chacun⋅e de partir de zéro et d’intégrer des outils à mesure qu’on en ressent le besoin, mais sans anticiper les besoins à partir des nôtres.

Je ne nie pas le besoin, pour des développeurs et des développeuses professionnel⋅le⋅s qui pondent sites et applications Web à longueur de journée, d’utiliser des outils afin de s’affranchir des tâches répétitives et, à force, peu créatives. La nécessité, dans un contexte professionnel, d’être productif. Il faut bien dans ce cas, hélas, industrialiser. Mais de grâce, si vous voulez que vos projets soient ouverts, ne faites pas de vos outils un pré-requis. Ou assumez préférer l’efficacité à l’ouverture, ce qui est un choix parfaitement compréhensible, dans un contexte où on ne peut malheureusement pas complètement faire abstraction de l’économie.

Je ne pense pas que chacun et chacune devrait savoir coder, pas plus qu’il ne soit indispensable pour apprécier la musique de savoir composer une symphonie. Mais avoir des rudiments de culture informatique, avoir écrit un petit programme, créé à la main une page Web, me semblent des savoirs utiles pour mieux comprendre et apprivoiser le monde contemporain, de plus en plus forgé par les technologies numériques. Une des grands forces du Web, outre son ouverture, c’est (c’était ?) son accessibilité. La marche pour commencer à créer une page ou une application est très basse, il suffit d’ouvrir Notepad, de lancer un navigateur, et avec un peu de curiosité, on peut faire ses premiers pas. Pour un développeur amateur, une développeuse amatrice, bidouiller une petite application en JavaScript reste très simple. Ne faisons pas croire que ça n’est plus le cas, n’effrayons pas avec nos outils. Oui, un ébéniste sera plus productif en possédant toute une gamme de guillaumes, guimbardes, planes, rabots, tarabiscots… Mais je suis persuadé qu’on peut s’amuser et faire de jolies choses avec un simple couteau suisse et un bout de bois.

Développeurs, développeuses, je sais que vous aimez votre métier et voulez montrer tous les efforts que vous faites pour le pratiquer au mieux. Je sais qu’il est souvent déconsidéré, et qu’il est aussi parfois nécessaire, pour être reconnu à sa juste valeur, d’expliquer que le développement Web peut être quelque chose de complexe, nécessitant une expertise pointue. Mais ne donnons pas l’impression qu’on ne peut plus développer pour le Web sans maîtriser des dizaines de techniques, concepts, outils… Ça serait je pense le plus mauvais des services à lui rendre. Développer est aussi, et doit selon moi rester, un plaisir pour amateurs et amatrices, n’en faisons pas uniquement un processus industriel. Gardons-le simple, sacrebleu !