C'est quoi un pilote de périphérique, un driver  ?
C'est quoi une API ?

Imaginez: Vous avez créé un logiciel de traitement de texte. Il doit pouvoir imprimer.

Or chaque imprimante parle un langage différent (une imprimante Epson ne comprend pas le langage HP, qui elle ne comprend pas le langage Canon, etc.).

Votre logiciel doit donc connaître le dialecte de chaque imprimante.

C'est un boulot de fou ! Vous devez programmer un petit module différent pour chaque imprimante existante. Ça fait des milliers de modules à programmer !

En plus, imaginez l'horreur: si un fabricant sort un nouveau modèle d'imprimante, vous devrez modifier votre logiciel pour pouvoir utiliser cette nouvelle imprimante, et envoyer ce programme modifié à tout vos utilisateurs.

Un véritable cauchemard.

 

Unifier

Il faudrait trouver un moyen d'unifier tout ça.

Il existe différents systèmes. Sous Windows, il s'agit du gestionnaire d'impression (Windows Printing System).

Votre logiciel n'aura plus qu'un seul interlocuteur: le gestionnaire d'impression.

 

Gérer les cas particuliers

Mais cela obligerait Microsoft à développer un module pour chaque modèle d'imprimante. Soyons réaliste: Microsoft ne va pas dépenser de l'argent pour faire le boulot des fabricants d'imprimantes.

C'est donc chaque fabricant d'imprimante qui va fournir un petit programme capable de communiquer avec le gestionnaire d'impression: ce petit programme est appelé pilote (ou driver).

Le pilote connaît le langage particulier de l'imprimante et il est capable de la piloter à partir des ordres que lui donne le gestionnaire d'impression.

 

C'est pour cette raison que votre imprimante est fournie avec une disquette ou un CD: Il contient le ou les pilotes pour l'imprimante (avec en général quelques logiciels supplémentaires).

Ainsi, quand vous connectez une nouvelle imprimante, il vous suffit d'installer le pilote pour que vos logiciels puissent l'utiliser directement, sans avoir à connaître les particularités de cette imprimante.

 

Et les autres périphérique ?

C'est la même chose pour les autres périphériques: il existe des pilotes pour les cartes graphiques, les cartes son, les scanners, les cartes réseau, les modems, etc.

Il est donc important, quand vous installez ou réinstallez votre système d'exploitation (Windows ou autre), d'avoir tout ces pilotes sous la main, sinon vous ne pourrez pas utiliser certains de vos périphériques.

 

Généralement, les systèmes d'exploitation (dont Windows) sont fournis avec un ensemble de pilotes pour les périphériques les plus courants. Ainsi, il arrive souvent que vous n'ayez pas à installer les pilotes pour votre carte son ou votre souris: Windows les a détecté et a installé les pilotes correspondants.

 

Mais alors pourquoi mon périphérique ne fonctionne plus avec la nouvelle version de Windows ?

Chaque version de Windows gère les pilotes de manière un peu différente. Il faut donc que le fabricant de votre périphérique fournisse un pilote différent par version de Windows (95, 98, ME, NT, 2000, XP...).

Or les fabricants sont souvent feignants et refusent de créer des pilotes de leurs anciens périphériques pour les nouvelles versions de Windows. Résultat: vous ne pouvez plus utiliser le matériel que vous avez acheté avec les nouvelles versions de Windows.

Et cela arrange bien les affaires des fabricants, parcque ça vous oblige à racheter du matériel !

Cette marche forcée est le résultat des choix techniques de Microsoft (qui change ses standards) et des fabricants qui ne mettent pas à jour leurs pilotes.

 

Généralisation

Le gestionnaire d'impression et les pilotes forment une couche entre les logiciels et les imprimantes. On appelle cela une couche logicielle ou API (Application Programming Interface).

Il existe des tas d'autres couches logicielles. Par exemple sous Windows:

Ces couches logicielles permettent (dans une certaines mesure) de faire abstraction du matériel en dessous. Cela permet de simplifier la vie du programmeur et de gérer automatiquement tout nouveau périphérique.


Le contenu de cette page est placé sous les termes de la licence suivante : CC Attribution-Noncommercial 4.0 International
h t t p : / / s e b s a u v a g e . n e t