Le mantra de l’intégrateur

Après le débat lancé par le W3C face aux préfixes des navigateurs, Raphaël Goetter d’Alsacréations a partagé sa solution pour facilement adapter ses sites en utilisant le script -prefix-free.

Comme beaucoup d’outils de ce genre, -prefix-free nécessite une requête HTTP et un traitement du JavaScript, au détriment des performances du navigateur.

En ce qui me concerne, je considère que les avantages fournis contrebalancent ce handicap. Mais sur mobiles, où les temps de chargement sont prépondérants, la question mérite le détour.

J’ai d’abord cru à une blague, mais il est apparemment très sérieux. Jérémie Patonnier a ce matin très bien détaillé la problématique, en titrant son article « Lier CSS à JavaScript : une mauvaise idée ».

De manière générale, ce genre d’interrogations arrive rarement quand on applique un mantra, une philosophie globale, un fil conducteur qu’on applique dans n’importe quelle situation. Personnellement, ma philosophie se résume en une question.

Qu’est-ce qui est le mieux pour l’utilisateur ? 

Le graphiste a maquetté des listes déroulantes personnalisées. Je peux utiliser un script pour simuler une liste déroulante avec la charte maquettée, au détriment des performances de la page, ou laisser les listes déroulantes par défaut du navigateur, au détriment de la charte graphique. Qu’est-ce qui est le mieux pour l’utilisateur ?

Je dois intégrer une page simple avec quelques éléments à rendre dynamique (apparition au clic ou au survol). Je peux utiliser une librairie type jQuery pour coder ça rapidement, ou prendre un peu plus de temps pour coder la même chose en JavaScript seul. Qu’est-ce qui est le mieux pour l’utilisateur ?

J’ai du texte dans une police personnalisée. Je peux importer une police en CSS3 de plusieurs dizaines de Ko, ou découper une image de quelques Ko. Qu’est-ce qui est le mieux pour l’utilisateur ?

En octobre dernier, je partageais déjà mon point de vue sur la finalité d’une page web :

On ne fait pas un site web pour le client. On fait un site web pour un utilisateur. Un utilisateur est une vraie personne. Un utilisateur a son terminal (ordinateur, smartphone, télévision, …), son entrée (clavier/souris, tactile, …), sa sortie (écran 16/9, 4/3, 72 dpi, 326 ppi, …), sa connexion internet (56k, ADSL, Fibre, Edge, 3G, …). Un terminal à son système d’exploitation (Windows, Mac OS, iOS, Android, …), son processeur, sa carte graphique, … En pratique, vous aurez quasiment autant de configurations possibles que de visiteurs. Quand vous travaillez pour le client, vous rendez 1 personne heureuse. Quand vous travaillez pour l’utilisateur, vous rendez des milliers voire des millions de personnes heureuses.

D’autres intégrateurs auront surement un mantra différent, privilégiant par exemple la charte graphique, le temps de réalisation ou le coût d’un projet. On peut y trouver un intérêt sur le court terme. Mais je pense que seule une conception pensée pour l’utilisateur reste valable sur le long terme.

  1. Aurélien, le

    Belle approche.

    Le plus difficile est de l’expliquer au client qui parfois souhaite finalement un site pour lui plutôt que pour ses utilisateurs.

  2. Uxlco, le

    J’approuve ton mantra, nous sommes de la même église :D
    Pour ça faut que les chefs de projet vendent de la performance.
    C’est le discours commercial qui doit changer.

  3. TOMHTML, le

    Sinon, pour ceux qui veulent ajouter directement les préfixes sans se prendre la tête (et tant pis pour les ayatollahs), il y a une solution : http://cssprefixer.appspot.com/

  4. Gaël, le

    Peut-être peut-on satisfaire le client tout en créant un site adapté à ses utuilisateurs ?

    Séduire le client en gardant à l’esprit les contraintes pour l’utilisateur, c’est un des gros avantages de ce métier qui disparaît : graphiste & intégrateur. J’utilise une typo exotique et je sais déjà comment l’optimiser à moins de 10ko; j’ajoute des pictos en pensant au préalable à leur position dans un sprite; etc…

    Et prefix-free peut trouver sa place dans certains projets avec une approche globale.

    Mon « mantra » relève le défi de satisfaire le client sans handicaper l’utilisateur. J’aime ce défi, je trouve que c’est une motivation extrêmement grisante qui pousse à l’ingéniosité et demande une réflexion, et c’est en y parvenant que je peux être fier de mon travail.

  5. lionel, le

    On pourrait l’appeller les mantra des bisounours :)
    Sérieusement, la réalité est, je pense, un peu plus complexe que les deux choix que tu proposes (comme utiliser jquery pour aller plus vite ou développer le truc plus optimisé, mieux pour l’utilisateur, mais qui me prendra beaucoup beaucoup de temps )

    Et la satisfaction du mec qui te paye tes factures est, elle aussi importante. Attention quand je parle de satisfaction du client, c’est pas dire Amen à toutes ses demandes. A mon sens, c’est tout aussi important qu’il soit satisfait d’avoir ce dont il a besoin. L’enjeux de notre travail, c’est lui expliquer qu’il fait un site pour ses utilisateurs (pas pour lui), arriver a décrypter ce dont il a besoin maintenant et dans 2 ans. A nous de mettre notre expertise à son service, car c’est souvent de l’échange avec lui qu’émergent de nouvelles idées (cette partie du travail est extrêmement enrichissante).