
Ce qu'il y a de surprenant avec les impressions sous Windows, c'est que c'est le pilote d'impression qui fait tout le boulot. Ce n'est pas Windows (
qui se contente de standardiser la façon d'exploiter une imprimante) ni les logiciels (
qui s'adressent donc en définitive à Windows qui passe le relai au pilote d'imprimante).
Allez, j'ai un peu de temps, et vous aussi, alors je vous raconte une petite histoire vécue sur le sujet...
Je me souviens du bon temps où j'étais le seul informaticien d'Epsilog et où je venais de réaliser le premier "Vega pour Windows" (
oui, je sais, ça date du siècle dernier... 
).
Je transpose mon logiciel DOS dans un nouvel environnement de programmation, je refabrique toutes mes fenêtres (
car Vega sous DOS avait déjà des fenêters, des boutons, etc !). je teste le tout avec mon imprimante laser canon LBP8 (
grosse imprimante pour l'époque). Tout baigne : on envoie à nos nouveaux clients... (
pas de MAJ pour les autres qui n'ont pas Windows sur leurs ordinateurs !)
Quelques jours après les premières livraisons, un coup de fil à la hotline (
une personne à l'époque...) : un nouveau client plante son ordinateur à chaque tentative d'impression avec Vega !
Alerte chez nous, je revérifie mon code : RAS.
On rappelle le client, et par acquis de conscience on lui fait imprimer "bonjour" à partir du bloc-notes de Windows : crash de la machine !
On lui demande ce qu'il a comme imprimante. C'était une HP 590C, la première imprimante jet d'encre couleur diffusée à grande échelle : un vrai standard.
Prudent, je me fais envoyer les pilotes d'imprimante (
pas d'Internet à l'époque pour télécharger ça
).
Je reçois, j'installe, je teste : plantage de MA machine...
Je relève mes manches de "plombier" et je suis à la trace (
en mode "debug", comme au bon vieux temps) chacune des lignes de code de mon programme.
Je vous passer l'appel à la fonction de Windows qui doit prévenir l'imprimante qu'une demande d'impression va lui être fournie.
Je poursuis et je rentre dans le code exécutable du pilote d'imprimante (
c'est à cette occasion que j'ai compris que ce que je pensais être fait par Windows était fait par ces fichus pilotes).
Et là, surprise : les braves ingénieurs de chez HP n'avaient RIEN programmé

. Comprenez-moi bien, le PC exécutait ce qu'il trouvait en mémoire à ce moment, au lieu d'exécuter du code "machine" proprement conçu et compilé. Inutile de dire qu'en suivant des "instructions" aléatoires le plantage devenait rapide et inévitable

.
J'ai contacté HP par téléphone, ils m'ont envoyé la première MAJ de pilote de ma vie, et tout est rentré dans l'ordre.
Depuis ce jour des temps anciens, nous avons pris l'habitude de vérifier systématiquement que les pilotes sont les plus récents
(imprimante, affichage, etc).
Allez, il est midi 1/4, je dois rentrer à l'hospice pour le dîner.

:roll: Ce qu'il y a de surprenant avec les impressions sous Windows, c'est que c'est le pilote d'impression qui fait tout le boulot. Ce n'est pas Windows ([i]qui se contente de standardiser la façon d'exploiter une imprimante[/i]) ni les logiciels ([i]qui s'adressent donc en définitive à Windows qui passe le relai au pilote d'imprimante[/i]).
Allez, j'ai un peu de temps, et vous aussi, alors je vous raconte une petite histoire vécue sur le sujet...
Je me souviens du bon temps où j'étais le seul informaticien d'Epsilog et où je venais de réaliser le premier "Vega pour Windows" ([i]oui, je sais, ça date du siècle dernier...[/i] :wink: ).
Je transpose mon logiciel DOS dans un nouvel environnement de programmation, je refabrique toutes mes fenêtres ([i]car Vega sous DOS avait déjà des fenêters, des boutons, etc ![/i]). je teste le tout avec mon imprimante laser canon LBP8 ([i]grosse imprimante pour l'époque[/i]). Tout baigne : on envoie à nos nouveaux clients... ([i]pas de MAJ pour les autres qui n'ont pas Windows sur leurs ordinateurs ![/i])
Quelques jours après les premières livraisons, un coup de fil à la hotline ([i]une personne à l'époque...[/i]) : un nouveau client plante son ordinateur à chaque tentative d'impression avec Vega !
Alerte chez nous, je revérifie mon code : RAS.
On rappelle le client, et par acquis de conscience on lui fait imprimer "bonjour" à partir du bloc-notes de Windows : crash de la machine !
On lui demande ce qu'il a comme imprimante. C'était une HP 590C, la première imprimante jet d'encre couleur diffusée à grande échelle : un vrai standard.
Prudent, je me fais envoyer les pilotes d'imprimante ([i]pas d'Internet à l'époque pour télécharger ça :lol: [/i]).
Je reçois, j'installe, je teste : plantage de MA machine... :evil:
Je relève mes manches de "plombier" et je suis à la trace ([i]en mode "debug", comme au bon vieux temps[/i]) chacune des lignes de code de mon programme.
Je vous passer l'appel à la fonction de Windows qui doit prévenir l'imprimante qu'une demande d'impression va lui être fournie.
Je poursuis et je rentre dans le code exécutable du pilote d'imprimante ([i]c'est à cette occasion que j'ai compris que ce que je pensais être fait par Windows était fait par ces fichus pilotes[/i]).
Et là, surprise : les braves ingénieurs de chez HP n'avaient RIEN programmé :shock: . Comprenez-moi bien, le PC exécutait ce qu'il trouvait en mémoire à ce moment, au lieu d'exécuter du code "machine" proprement conçu et compilé. Inutile de dire qu'en suivant des "instructions" aléatoires le plantage devenait rapide et inévitable :? .
J'ai contacté HP par téléphone, ils m'ont envoyé la première MAJ de pilote de ma vie, et tout est rentré dans l'ordre.
Depuis ce jour des temps anciens, nous avons pris l'habitude de vérifier systématiquement que les pilotes sont les plus récents [i](imprimante, affichage, etc[/i]).
Allez, il est midi 1/4, je dois rentrer à l'hospice pour le dîner. :lol: