La cuisine a11y

Dans son article intitulé « les mains sales », Bertrand Keller critique l’abus d’une analogie qui rapproche le développement de code de la fabrication industrielle traditionnelle. De son point de vue, il y a une différence fondamentale : « quand on fait du code (plus particulièrement du web) on ne touche pas à des pièces inertes mais à [un] organisme vivant ».

Le Web comme un organisme vivant, j’avoue, je n’y avais encore jamais pensé aussi explicitement. Or je suis très friand des analogies, j’ai donc forcément été intéressé par celle-ci.

Les analogies sont un outil rhétorique puissant. Elles permettent de suggérer tout un univers, grâce à la merveilleuse faculté du cerveau humain à créer des associations entre des notions a priori distantes. C’est particulièrement efficace lorsque le receveur n’est pas familier du sujet et qu’on le transpose dans un référentiel qu’il connait. On gagne un temps fou… Il est vrai que les analogies peuvent déborder les intentions de leur émetteur, et induire des associations inattendues, voire non désirées. Mais c’est un prix acceptable pour les bénéfices qu’on peut en retirer.

Je ne suis pas aussi catégorique que Bertrand dans son rejet de l’analogie entre Web et industrie ; peut-être que parce qu’étant moi-même issu de l’industrie mécanique, je l’utilise volontiers (et aussi parce que ça « parle » à pas mal de gens malgré tout). Néanmoins, comme pour nombre de ses excellents articles, cette réflexion m’a interpelé, et m’a poussé à réfléchir. L’analogie de l’organisme vivant ne percute pas totalement en moi, mais elle m’a amené à reconsidérer mes propres images. Et j’en suis arrivé à penser le Web comme une « matière molle ». Ce qui n’a rien de péjoratif, c’est juste par opposition à des « matières dures » comme le métal ou le bois, qui réservent relativement peu de surprises à la manipulation.

Matière molle car malléable, aux contours incertains, qui ne reste pas en place comme on le voudrait… Et dans un sens plus métaphorique : qui échappe aux effets de l’attaque frontale, et requiert une approche souple, sans jamais se soumettre totalement. Allez taper à la fraiseuse dans un bloc d’acier massif : avec assez de puissance et de lubrifiant, il partira en fins copeaux. Attaquez un bloc de caoutchouc avec la même fraiseuse : elle n’en ressortira pas indemne, et vous n’aurez rien obtenu d’utilisable.

Cette façon, inédite pour moi, de considérer la « matière Web », a immédiatement créé un rapprochement, dans mon esprit, avec un autre domaine où je manipule du mou, au quotidien. Pour diverses raisons, c’est moi qui me coltine la confection de la plupart des repas familiaux depuis quelques semaines. Et s’il y a bien une découverte que j’ai faite, c’est qu’on est loin des « sciences dures », en cuisine…

Il se trouve aussi que pour diverses autres raisons, nous avons dû hausser notre niveau d’exigence sur la qualité de nos repas, depuis à peu près la même période. Je me trouve donc un peu dans la situation d’un travailleur du Web, qui, confronté à un matériau mou, doit en plus grimper dans la division supérieure, et produire des sites accessibles autant qu’il peut. D’où cette idée de rapprocher cuisine et accessibilité, pour générer de nouvelles pistes de réflexion, et illustrer certains principes utiles pour bien aborder un projet Web intégrant l’exigence d’accessibilité.

On verra que bien souvent, ce n’est pas limité au développement « accessible », et généralisable à un développement « de qualité ». Normal : en réalité, développer accessible, c’est juste développer comme d’hab, mais en ajoutant un certain nombre d’exigences peu ou pas négociables. Il est donc logique que ce qui marche dans un cas marche aussi dans l’autre.

Le repas vu comme un projet

Tout comme un projet, la confection d’un repas est régie par des objectifs et des contraintes. Objectifs de satisfaction des besoins et envies des bénéficiaires du repas ; contraintes de budget, temps, énergie, et ressources (les ingrédients, les équipements). Tout comme dans un projet, vos ambitions et décisions culinaires seront très impactées par les éléments disponibles, bien sûr ; mais aussi par le contexte d’utilisation : on préparera des repas très différents pour un déjeuner rapide, un dîner de fête, un plateau-télé, un pique-nique… Et votre aptitude à jongler avec les différentes échéances (les temps de préparation, les fins de cuisson) conditionnera totalement la réussite du repas.

Le repas vu comme un service Web

Si je considère un repas comme un service Web que je propose à mes « repanautes », j’arrive vite à la notion de « qualité de service ». A mon sens celle-ci comporte deux composantes : la composante technique (composition, équilibre, qualités nutritives, absence de produits nocifs…) et la composante artistique (saveurs, parfums, aspect, présentation, textures…). Si le pan technique de mon repas est non négociable vis-à-vis de mon audience, pour être consommé il doit aussi satisfaire un minimum de critères artistiques. J’aurai beau être irréprochable techniquement, je dois aussi donner envie. Même les cosmonautes demandent à rêver un peu avec leurs rations alimentaires lyophilisées… Inversement, en me contentant de seulement faire plaisir, on va vite se retrouver à ne consommer que du chocolat, des pâtes et du jambon, ce qui va rapidement poser de sérieux problèmes de santé.

Pour un service Web, on peut considérer que la composante technique est ce qui garantit l’accès au service, incluant le socle minimal d’accessibilité, au sens de conformité à des standards ; pour être sûr que tout le monde puisse au moins en manger. La composante plus « artistique » inclut le design, l’ergonomie, une touche de plaisir à l’usage… Si mon socle technique doit bien sûr être solide, et satisfaire les besoins essentiels de mes internautes, j’aurai du mal à les attirer et à les garder si la dimension artistique n’est pas assez… appétissante. On retrouve là une notion très importante en accessibilité : la conformité (les choses sont possibles pour tous) n’entraine pas forcément l’utilisabilité (les choses sont agréables à utiliser). Mais l’utilisabilité seule laissera sur la touche ceux qui ont des besoins spécifiques ne pouvant être satisfaits que par l’exigence d’accessibilité.

Pour toi, Public

Préparer un repas « dans l’absolu » est voué à l’échec. Même le plus luxueux des plats sera boudé  s’il comporte un ingrédient que détestent les convives. Quand on cuisine pour ses proches et pour soi, il faut obligatoirement tenir compte des goûts et envies de chacun. Sacré challenge quand ceux-ci évoluent dans le temps, que le frigo est vide, et qu’il faut à tout prix se renouveler pour éviter le bide sur une recette qui a pourtant connu le succès les fois précédentes. Il faut donc être au plus près des besoins de ses utilisateurs, et faire preuve d’imagination et d’astuce. Surtout quand ce public peut être exigeant au plus haut point, comme on le verra plus loin.

Meet the family

J’aurais aimé éviter cette incursion très personnelle, mais elle sera indispensable au propos ; je vais donc vous décrire l’ « audience » à laquelle je m’adresse quotidiennement.

Préparer un repas, chez nous, revient à tenter de satisfaire les désidératas de 4 personnes, bien distinctes dans leurs besoins et leurs attentes.

Gabriel, 9 mois :   en pleine phase de diversification alimentaire, il a besoin, en sus de deux grands biberons quotidiens, d’une dose minimale de légumes, de fruits, de produits lactés, et de protéines animales. Il a des petites dents, mais ne sait pas encore les utiliser pour mastiquer efficacement.

Océane, 5 ans : elle sort tout juste de la phase où l’enfant se méfie de toute nouvelle nourriture… Mais ce n’est pas encore gagné. Comme tous parents informés, nous savons que chaque repas doit combiner laitages, protéines, féculents, et fruits et légumes. Nous savons également qu’il faut éduquer sa curiosité pour des goûts et textures nouveaux. Bien sûr elle n’en a cure, et privilégie ce qui lui fait plaisir avant tout. De plus, elle peut sortir une réflexion du style « hier, quand j’avais quatre ans, j’aimais les petits pois. Mais plus maintenant ». Un vrai casse-tête !

Marie, ma femme : elle est soumise à un programme alimentaire qui, sans être inhumain, est quand même très cadré. Les proportions de protéines, féculents, légumes, sont imposées ; il faut éviter les excès de graisses (et donc certaines viandes et certains poissons), de glucides (et donc certains fruits et légumes) ; et de fait, les plats industriels sont à fuir.

Moi : pas de contraintes particulières, à part une allergie à certains poissons (le souci étant : je ne sais pas toujours lesquels). J’ai cependant quelques aversions bien marquées, pour certains goûts et certaines textures. Et par paresse et commodité, j’ai pas mal abusé, dans ma vie, des plats industriels, et des diverses variations de pâtes… ce qui ne peut pas durer, si je veux durer !

Choisir la bonne cible

Gabriel présente les exigences les plus strictes : on ne peut pas lui donner n’importe quoi, et pas n’importe quand ni comment. Pour autant nous n’allons pas caler les repas de tous sur les siens, même si nous serions capables, techniquement, de les consommer. Car sinon nous allons vite souffrir de malnutrition… Ses besoins sont tellement spécifiques qu’on doit les adresser séparément des autres. Si c’était un internaute, ce serait celui avec une configuration tellement exotique qu’on doit lui proposer une version adaptée. Proposer uniquement cette version pour tout le monde risque de créer de gros problèmes d’adhésion au service…

Pour ma part j’ai, en apparence, les exigences les plus relâchées. Même si comme tout le monde j’ai besoin d’une alimentation équilibrée, je ne me formaliserai pas si j’enchaine pizzas froides et plats en conserve toute une semaine. Bien sûr, à moyen terme, ma santé va en pâtir, ce n’est donc pas mon profil d’utilisateur qui doit servir de référence. Je suis un peu comme le fameux « internaute lambda », qui parce qu’il s’adapte à peu près à tout, sur le moment, ne formule pas de demande explicite pour des aménagements qui lui seraient propres. On notera cependant que, paradoxalement, c’est bien souvent cet internaute lambda que l’on imagine devoir satisfaire en priorité…

Océane est un cas extrême. Elle a des besoins forts, et incompressibles, mais qu’elle ignore, ou refuse de prendre en compte. A côté de cela elle a des exigences déraisonnables (du chocolat à chaque repas par exemple) qui seraient problématiques pour sa santé si on s’y pliait systématiquement. Bien sûr elle est aussi celle qui va exprimer le plus énergiquement son désaccord, et refuser tout compromis ou souplesse (« c’est nul ce que t’as fait à manger, j’aime pas du tout du tout ! »). Si elle était une utilisatrice de mon service Web, elle serait cette personne véhémente et obstinée, avec des demandes de fonctionnalités farfelues, voire néfastes au service. On ne va bien sûr pas pouvoir se caler sur ses expressions de besoins, on courrait à la catastrophe. En revanche il faudra veiller à ce qu’elle utilise tout de même le service, en faisant certaines concessions, ponctuellement, et en fournissant des solutions d’adaptation qui préservent l’essentiel (par exemple, « patcher » une fondue de poireaux en pelant une carotte ou deux).

Le cahier des charges de Marie présente le meilleur compromis entre exigence et universalité. La satisfaction de ses besoins fonctionne aussi pour Océane et moi aux proportions près (Gabriel étant traité séparément comme vu plus haut). Se caler sur les besoins de Marie permet donc d’adresser les besoins de tous, qui seront éventuellement implicites et ignorés, mais bien réels. Pour compléter les zones d’ombre et équilibrer utilité et plaisir, on feintera avec des artifices et contournements : épices, assaisonnements, ingrédients de substitution… Appliqué à un projet Web, cela nous donne une référence d’accessibilité couvrant des besoins suffisamment partagés (même si ce n’est pas clairement exprimé) pour que le plus gros du travail soit bénéfique au plus grand nombre. Sans oublier d’adapter à la marge pour les cas où on ne peut pas faire autrement.

Choisir les bons combats

Entre tout faire soi-même (jusqu’à utiliser ses propres cultures) et se reposer exclusivement sur l’achat de repas prêts à consommer, vous avez toute une gamme de possibilités, sur laquelle vous pouvez d’ailleurs jouer en fonction des circonstances. Au quotidien, vous aurez à trouver un compromis entre budget, temps, et qualité. Ça ne vous rappelle rien ? En cuisine, cela revient par exemple à utiliser des condiments surgelés pour gagner un temps précieux, même si cela coûte plus cher et représente une concession sur le goût, en comparaison de la cueillette de vos propres herbes aromatiques, cultivées avec soin et amour au fil des semaines.

En développement Web, il est souvent judicieux de se rabattre sur des solutions du marché lorsque ceci vous permet de vous concentrer sur ce que personne ne peut faire à votre place. La bonne nouvelle est que généralement, on trouve d’excellentes solutions tierces, souvent gratuites. La mauvaise est que dans tous les cas vous ne pourrez pas vous contenter de les adopter aveuglément si vous voulez être sûr d’en maitriser la qualité technique. Vous devrez a minima les vérifier, ou les faire vérifier, pour en garantir l’adéquation avec vos exigences techniques et fonctionnelles.

Muscle ton jeu

Le fait que tout ne soit pas permis pour Marie, et que pourtant il faille se renouveler et plaire, oblige à hausser le niveau de créativité, à explorer de nouvelles pistes. Je me suis mis à acheter et préparer des légumes qui m’étaient inconnus, à tester les possibilités d’épices et condiments exotiques pour moi… Un peu comme le respect de certaines règles d’accessibilité oblige à étendre sa connaissance des langages du Web, à exploiter des balises et attributs du HTML jusqu’alors joyeusement négligés, à se montrer plus rigoureux dans le choix d’une bibliothèque JavaScript…

Pour ce faire, j’ai dû me documenter, me faire aider. Comment prépare-t-on du céleri ? Du chou blanc ? Des outils comme des recettes, des applications Web ou smartphone, peuvent se révéler de précieux alliés pour éviter de se planter. On ne peut pas tout savoir, et même lorsque l’on en sait pas mal, on peut toujours apprendre. Il faut savoir faire preuve d’humilité pour progresser. D’où le chapitre suivant…

L’humilité, secret de la sagesse

En cuisine comme en développement Web, il est vital de connaitre ses limites pour espérer pouvoir les dépasser. Ne vous lancez pas dans des recettes alambiquées, piochées dans un livre prestigieux co-signé par un chef étoilé, si vous n’avez jamais tenu une casserole. Commencez petit, commencez simple. Le risque le plus grave, au-delà d’un plat qui provoquera grimaces ou indifférence, c’est le découragement. J’ai souvent vu des équipes se lancer dans une refonte de site Web très complexe, charger la barque avec des exigences démentes, pour s’essouffler en cours de route, voire jeter l’éponge et abandonner les belles intentions initiales sur l’accessibilité. Inversement, les premiers succès (et certains sont faciles à obtenir) vous encourageront à continuer, et à relever légèrement la barre la fois suivante. Effet garanti : l’acquis paraitra facile, le surplus paraitra faisable. Vos utilisateurs comme vos convives ne pourront qu’être satisfaits de vos progrès.

Tests et feedback, les deux mamelles du succès

Tous les cuisiniers vous le diront : il est indispensable de goûter ses plats, tout au long de leur confection. Et évidemment, avant de les servir. Surtout si c’est une innovation pour vous… Sinon, comment voulez-vous être sûr que vous n’êtes pas parti sur une mauvaise piste ? Néanmoins, ceci ne remplacera jamais le seul vrai test qui validera la mise en ligne de votre œuvre : observez les réactions de vos convives, interrogez-les, évaluez ce qui reste dans l’assiette, cherchez ce qui aurait pu être amélioré et ce qui pourra être gardé. Et surtout ne vous reposez pas sur vos lauriers : un plat qui a marché trois ou quatre fois peut se planter sous l’effet de la lassitude, surtout que la tentation est grande de réitérer un succès, jusqu’à saturation si vous n’y prenez garde.

Mais ne vous méprenez pas : la qualité technique (valeur nutritive, équilibre, etc.) de votre repas sera rarement exprimée par ceux qui le consomment. Sur ce point, vous êtes le mieux placé, en tant que cuistot, pour savoir que vous y avez mis ce qu’il faut, en quantités adéquates. C’est votre responsabilité.

On retrouve là encore un parallèle frappant avec le développement Web : tout ce qui tient lieu de tests techniques d’un service Web relève essentiellement de votre compétence, tandis que sur les aspects fonctionnels, même si vous pouvez vous faire votre propre idée, vos utilisateurs restent les mieux placés pour savoir ce qui est à leur goût… sans perdre de vue que ce n’est que le leur, et que vous trouverez toujours quelqu’un pour avoir l’avis contraire.

Sur ces notions de tests et de feedback, le développement Web présente une difficulté spécifique : on a très, très rarement accès aux retours directs des utilisateurs finals, sauf à aller les chercher, via une action volontaire de collecte et de traitement. Contrairement à un cuisinier qui est directement confronté au jugement de ses « testeurs », bien souvent, pour le développeur Web, l’utilisateur d’un site est une notion abstraite et distante, voire évoluant dans une autre dimension…

Pas de bon ouvrier sans bons outils

Même Bocuse sera bien en peine de vous sortir un chef-d’œuvre s’il n’a qu’un four à micro-ondes et des boites de conserve à disposition. Un plan de travail, des équipements, une batterie d’ustensiles, un arsenal d’épices et condiments, et bien sûr les ingrédients adéquats sont plus que du confort ; ce sont des prérequis pour arriver à sortir deux repas par jour, avec toutes les exigences que l’on a décrites. Evidemment une compétence minimale pour utiliser cet outillage sera nécessaire, faute de quoi vous ne serez pas plus avancé… Et vous ne pourrez pas vous passer de vous exercer en situation réelle, ce ne sont pas les livres qui vous l’apprendront.

Similairement, pour développer votre service Web, vous ne ferez pas de miracles sans le matériel et les logiciels adaptés à votre projet, et les compétences qui vont avec. La bonne volonté ne fait pas tout, et d’ailleurs cela n’a pas de sens de la gaspiller à cause d’un outillage inadapté.

Transgresser pour transcender

J’aime bien l’appli Marmiton sur smartphone. Elle permet des recherches par ingrédients, et présente des recettes de toutes sortes et de toutes difficultés. Surtout, les utilisateurs peuvent commenter les recettes. Un point qui m’a frappé, en tant que récent converti, c’est que souvent les commentaires sont du type « super recette, mais j’ai remplacé le miel par du confit d’oignons, et j’ai cuit à la sauteuse plutôt qu’au four ». D’ailleurs la dernière version de l’application permet d’obtenir des suggestions de remplacement d’ingrédients… Cela m’a surpris au début, car je faisais l’erreur de sacraliser à l’excès les recettes, avant de comprendre qu’il faut les considérer comme des guides plutôt que comme des règles absolues. Attention, ne me faites pas dire ce que je n’ai pas écrit : on parle de préparer la bouffe familiale au quotidien, là, pas de haute gastronomie… Sentez-vous donc libre de détourner une recette en fonction de vos goûts, de vos compétences, de ce que vous avez sous la main…

On va retrouver cette notion en accessibilité également. Il existe bien des principes fondamentaux, auxquels on ne pourra pas déroger. Mais la façon dont on s’y prend pour les respecter peut varier. Les standards internationaux, les fameuses WCAG, sont conçus exactement dans cet esprit : les critères de succès sont universels et s’imposent aux auteurs. Mais les différentes Techniques d’application sont à considérer uniquement comme des aides, des exemples de solutions déjà validées (ou déjà invalidées, pour ce qu’on y appelle les Failures). Mais les faiseurs de Web sont invités à trouver leurs propres solutions (et les partager, tant qu’à faire), étant entendu qu’une solution n’est bonne que si elle respecte bien tous les critères de succès concernés dans le contexte d’utilisation du service Web.  Soyons clairs : tenter une Technique inédite est assez périlleux et demande une solide vérification, d’où l’utilité de référentiels comme le RGAA ou AccessiWeb, qui ont prémâché ce travail. Mais avec l’expérience, et si on s’adresse à une cible bien connue, rien n’interdit de créer, bien au contraire.

Tu sais ce qui compte ? C’est l’amour

Faire la cuisine pour ceux qu’on aime, avec l’intention de leur faire plaisir, est un acte éminemment altruiste. C’est comme se donner du mal pour faire un cadeau personnalisé. Le plaisir qu’on en retire est proportionnel, du reste, au plaisir que l’on procure.

Sans verser dans l’angélisme, l’accessibilité procure des sensations très similaires. On va certes suer et souffrir en le faisant, mais on le fait parce qu’on sait qu’après, il y a des utilisateurs qu’on va aider à monter enfin dans le train, dans le même wagon que tout le monde. On pourrait réduire l’accessibilité à une simple opération technique, mais je crois fermement que l’on fait vraiment du bon boulot lorsque l’on se sent investi d’une mission juste et utile.

Et puis du reste, plus on en fait, moins on trouve ça difficile. On va même finir par se challenger avec des trucs bien tordus, bien compliqués, juste pour le plaisir d’y arriver… tout comme en cuisine.

Un petit digestif pour la route ?

Pour bien digérer tout ceci, résumons ce qu’a mis en lumière notre analogie, pourtant pas évidente au départ :

  • Bien connaitre les besoins de son audience pour pouvoir les satisfaire.
  • Bien choisir ses utilisateurs de référence, pour couvrir les besoins les plus larges possibles, et éviter de viser trop haut ou trop bas.
  • Ajuster à la marge si besoin, et prévoir des adaptations pour les cas où on ne peut pas faire autrement.
  • Savoir faire preuve de modestie et d’humilité, surtout si l’on débute.
  • Se réserver les travaux que l’on est en mesure de faire, et s’appuyer sur des aides extérieures pour le reste.
  • Pour progresser, se montrer curieux et prendre des (petits) risques.
  • Tester en continu la valeur technique des productions, et observer les utilisateurs pour évaluer leur pertinence fonctionnelle.
  • Ne pas se contenter des acquis. Les besoins et les attentes évoluent, il faut y être attentif.
  • Etre correctement outillé.
  • Les principes fondamentaux restent vrais dans l’absolu, mais leur application peut requérir souplesse et adaptation au contexte.
  • Vos productions seront meilleures si vous gardez à l’esprit ceux pour qui vous vous donnez du mal.

Le lecteur attentif aura noté que pas une seule fois n’apparaissent les mots « handicap » et « déficience », dans cet article pourtant copieux sur l’accessibilité… De fait, si les consommateurs de nos repas familiaux imposent des contraintes, il ne viendrait à personne l’idée de les considérer comme « handicapés ». Est-ce à dire que l’analogie est toute pourrie, et qu’on s’est chatouillé l’intellect en vain ? Je pense au contraire que cela prouve qu’on n’est pas obligé de penser l’accessibilité en termes de limitations et carences coté utilisateur ; que l’on peut l’envisager comme la réponse à des aptitudes et besoins spécifiques, hors référence à un handicap ou une déficience. Du reste, lisez les critères de succès des WCAG (sans oublier de prendre un bon pansement gastrique avant) : jamais on ne décrit explicitement de situation de handicap. L’observation des utilisateurs a été bien sûr le point de départ incontournable pour établir ces critères. Mais on ne peut les appliquer efficacement qu’après en avoir expurgé les références forcément limitantes à des situations individuelles.

Sur ce… bon appétit !

2 thoughts on “La cuisine a11y”

  1. Bonjour Olivier,

    Je ne te savais pas marmiton !!!
    Pour moi, le plus expert des profanes, ta rhétorique m’as vraiment interpelé ; tu vas donner le goût à se mettre à la cuisine…
    Amicalement,
    Jacques

  2. Et ton chien dans tout ça ? 😉 Serait-il l’allégorie du projet Web accessible pépère ? 😉

    « Et bon appétit, bien sûr », comme dirait Joël Robuchon, alias Jean-Pierre (bah quoi, il est notre grand chef à tous, non ? 😉 ).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *