Pourquoi avons-nous toujours des pilotes d'imprimantes ?

Il y a quelques temps, je me suis acheté une nouvelle imprimante, afin de remplacer un vieux Canon MP600 dont l'alimentation avait visiblement claqué. Je ne me sens pas encore suffisamment expérimenté pour m'amuser à dessouder et souder des fusibles dans des circuits haute tension, donc cette machine a fini par prendre la porte. Dommage, je l'aimais bien.

J'étais presque surpris de constater à quel point son remplaçant était facile à configurer sous Linux. S'agissant d'une HP, il m'a suffi d'installer hplip, puis le reste se faisait en trois clics sur l'interface d'administration de CUPS. Mon imprimante Canon, à l'inverse, ne me permettait d'imprimer qu'après une longue et pénible installation des pilotes propriétaires cnijfilter. On peut au moins dire merci à Canon d'avoir fourni un pilote, mais celui-ci est assez difficile à mettre en œuvre, et exigeait des bibliothèques archaïques comme libpng 1.2. J'ai d'ailleurs rarement réussi à sortir une page de test du premier coup avec ces pilotes.

Force est de constater qu'en 2012, nous avons toujours recours à des pilotes d'imprimante qui ne fonctionnent généralement qu'avec un modèle au pire, et une seule marque d'imprimante au mieux. Alors qu'avec l'avancée de la technologie, l'installation d'une imprimante pourrait être aussi simple que celle d'une clé USB.

Pourquoi ?

Développer un pilote d'impression vise à simplifier l'électronique de l'imprimante. En effet, sous Linux, c'est CUPS qui, au moyen de filtres, fait la conversion d'un format "bureautique" (PostScript, PDF, image bitmap...) en un format plus simple pour l'imprimante (par exemple, des séries de blocs de 16 pixels de haut). Une fois dans le bon format, c'est une backend qui prend ensuite le relais, pour faire la communication proprement dite avec l'imprimante – que ce soit via le port parallèle, le réseau, par USB... Lorsqu'on installe un pilote d'imprimante, c'est souvent un filtre, et parfois une backend, qu'on ajoute au système. À cela s'ajoute aussi un PPD (PostScript Printer Definition), qui décrit au système ce que l'imprimante sait faire, les résolutions qu'elle supporte, si elle est capable de faire du recto-verso automatique, etc. Les formats manipulés sont généralement spécifiques à ces machines, ou à une certaine gamme, mais très souvent spécifique à une certaine marque.

Mais ça, c'était intéressant lorsque l'électronique embarquée était encore chère. Les imprimantes qui prenaient directement du PostScript, qui coûtaient les yeux de la tête et qui étaient donc surtout réservées aux grandes institutions ou entreprises, est révolue ; nous avons maintenant des systèmes d'exploitation intégrés dans à peu près tout ce qu'on a de relativement intelligent. Regardez maintenant les CPU que l'on a dans nos smartphones, et qui seraient fort capables de réaliser des opérations aussi complexes que de la conversion vectoriel-bitmap. Pourquoi ne pas déléguer ce genre d'opérations à l'imprimante en créant un pilote générique ?

Si les pilotes étaient payants, cela m'aurait semblé logique que les constructeurs se soient livrés à un "verrouillage" en forçant les utilisateurs à utiliser leur pilote, s'agissant de leur gagne-pain. Mais ce n'est pas le cas, car ces pilotes sont distribués gratuitement. Il n'y a donc pas non plus réellement d'intérêt commercial à utiliser des pilotes non génériques.

Un pilote moderne est un pilote générique

C'est pourquoi je pense que développer un pilote qui fonctionne avec toutes les marques d'imprimantes, et qui soit un standard ouvert comme le PDF, pourrait être très intéressant. Cela permettrait de faire du vrai plug 'n play, tout en réduisant les coûts de développement de nouveux modèles dans l'avenir. Un tel standard permettrait de simplement brancher une imprimante en USB sous n'importe quel OS, et de n'avoir quasiment rien d'autre à faire. Ça, c'est de la facilité d'utilisation. Ce serait aussi bien un argument pour un client potentiel, qu'un argument marketing.

D'ailleurs, qui n'a jamais rêvé de se débarrasser de tous les logiciels inutiles fournis de base avec son imprimante ? Certains sont peut-être pratiques, mais on ne devrait pas avoir besoin de les installer pour pouvoir imprimer. Je n'aime pas non plus les pop-ups qui apparaissent lorsque j'imprime et qui ne sont a priori pas nécessaires. Il faut le pilote, uniquement le pilote, et rien d'autre que le pilote. Bon, après, il s'agit d'un problème inhérent à la façon dont sont « packagés » les logiciels Windows, donc je m'écarte du sujet.

Conclusion

Enfin, pour une imprimante réseau qui fonctionne avec IPP (Internet Printing Protocol), il me semble que quasiment tout le travail est fait, et qu'il suffirait juste d'implémenter le "filtre" générique au sein du firmware de la machine. Les fonctions pour demander à l'imprimante ce qu'elle sait faire existent déjà. Mon imprimante est d'ailleurs capable d'imprimer des PDF envoyés à une adresse e-mail spécifique. Voir ça dans une imprimante qui m'a coûté autour de 150 euros montre bien que le glas des pilotes spécifiques devrait bientôt sonner. Nos imprimantes sont de plus en plus souvent connectées à un réseau local, plutôt qu'à un ordinateur via USB, ce qui leur donne réellement la possibilité de proposer des fonctions qui vont dans le sens de la facilité d'utilisation. Alors, à quand les imprimantes réellement intelligentes ?

Posté par x0r à 0 commentaire • Tags : essai imprimantes drivers

Commentaires

Poster un commentaire

Poster un commentaire