Résumé

  • RFC 3381 ajoutait à IPP quatre attributs facultatifs de progression et un attribut d’assemblage des feuilles ; aucun ne constituait à lui seul un pourcentage universel d’achèvement.
  • L’ordre des documents, des copies et des feuilles déterminait la manière dont les compteurs avançaient ou revenaient à zéro. Lorsque l’empilage n’était pas détectable, « terminé » pouvait désigner la fin du traitement de la feuille.

Le piège apparaît dès que deux valeurs sont regardées ensemble. Le total des impressions passe de trois à quatre, tandis que le compteur de la copie courante retombe de trois à un. Le travail n’a pas reculé. Il a franchi une frontière que l’un des compteurs ne conserve pas dans sa seule valeur.

Publié en septembre 2002 sur la voie de normalisation, RFC 3381 définissait job-collation-type, sheet-completed-copy-number, sheet-completed-document-number et impressions-completed-current-copy. À ces attributs de description du travail s’ajoutait sheet-collate, par lequel un client demandait des feuilles assemblées ou non assemblées.

L’extension rendait visible une réalité que le compteur total cachait. job-impressions-completed, déjà présent dans le modèle IPP, pouvait continuer à croître. Le nombre d’impressions de la copie courante devait, lui, recommencer à zéro pour chaque nouvelle copie et pour chaque nouveau document. Sans le numéro de copie, le numéro de document et le type d’assemblage, une suite de nombres restait ambiguë.

Le texte reprenait ces idées du MIB de suivi des travaux du PWG décrit par RFC 2707. Les valeurs pouvaient aussi être transportées dans des notifications, domaine développé ensuite par RFC 3995 et RFC 3996. Une notification plus rapide ne supprimait pas le besoin d’interprétation : elle déplaçait le même énoncé, avec la même portée.

RFC 3381 mettait en scène un travail identique dans trois ordres. Il contenait deux documents de trois impressions chacun, à produire en trois exemplaires. Avec des feuilles non assemblées, chaque feuille était répétée trois fois avant de passer à la suivante. Avec des documents assemblés, la première copie de chaque document précédait la deuxième. Avec des documents non assemblés, toutes les copies du premier document précédaient celles du second.

Le total final était toujours dix-huit. L’état intermédiaire ne l’était pas. Après la quatrième impression, le travail pouvait se trouver dans la première copie du premier document, dans la première copie du second, ou dans la deuxième copie du premier. Le nombre quatre disait combien d’impressions avaient été comptées ; il ne disait pas où se situait la production sans le régime d’assemblage.

L’attribut sheet-collate précisait l’ordre des feuilles à l’intérieur d’une copie. multiple-document-handling précisait l’ordre des documents et de leurs copies. Leur combinaison formait des « ensembles » logiques. Certaines combinaisons, telles que des feuilles non assemblées avec des documents séparés dont les copies devaient être assemblées, étaient incohérentes et devaient être rejetées comme attributs en conflit.

Le résultat visible pouvait pourtant dépasser le modèle surveillé. Un assembleur de bacs pouvait rendre les feuilles assemblées pour l’utilisateur alors que le dispositif signalait uncollated-sheets. RFC 3381 indiquait qu’une application de suivi ne pouvait pas distinguer ce dispositif d’un autre dépourvu de cet assembleur. Le compteur décrivait donc le chemin observé, pas nécessairement l’ordre finalement découvert dans les bacs.

La définition de « terminé » plaçait une autre limite. Pour une feuille ou une impression, le point normal était l’empilage. Mais un équipement incapable de détecter chaque arrivée dans la pile pouvait utiliser la fin du traitement de la feuille comme approximation. La valeur pouvait être arithmétiquement exacte tout en se rapportant à une étape physique antérieure.

Cette tolérance ne promettait ni bac rempli, ni document remis à son destinataire. Elle reconnaissait qu’une spécification ne crée pas un capteur absent. Une feuille pouvait encore rencontrer un transport, une finition ou un bourrage après l’étape choisie pour l’incrément. L’exploitant devait donc savoir si la mesure venait de l’empilage ou de son approximation.

Les remises à zéro étaient tout aussi importantes que les incréments. impressions-completed-current-copy repartait de zéro à chaque copie de chaque document. Un système d’observation qui ne gardait qu’une date et un entier pouvait transformer cette transition normale en fausse perte de progression. Il fallait conserver l’identifiant du travail, les ordinaux du document et de la copie ainsi que le changement d’état.

L’inconnu restait une valeur légitime. Lorsque le numéro de copie ou de document ne pouvait pas être fourni, IPP imposait la valeur hors bande unknown, et non le nombre négatif employé dans certains MIB. Zéro signifiait l’état initial avant la première feuille pertinente. Inconnu signifiait que l’observation manquait. Les confondre fabriquait un événement qui n’avait jamais été mesuré.

Tous ces attributs étaient facultatifs, et un client comme une imprimante pouvait n’en prendre en charge qu’une combinaison. L’absence d’un champ ne prouvait pas l’absence de mouvement. Elle empêchait simplement certaines conclusions. La conformité autorisait une vue partielle ; elle n’autorisait pas l’observateur à présenter une déduction comme une mesure.

RFC 3381 mettait à jour RFC 2910 et s’appuyait sur le modèle de RFC 2911 ainsi que sur les conseils de RFC 3196. RFC 3380, publié dans le même voisinage, traitait d’une question différente : l’atomicité d’une modification des attributs du travail. Accepter une modification et observer ensuite la progression demeuraient deux événements séparés.

RFC 8010 et RFC 8011 ont depuis consolidé le transport et le modèle IPP/1.1, rendant RFC 3381 obsolète. Cette chronologie ne prouve ni l’adoption par un produit nommé, ni la présence de chaque compteur, ni la livraison correcte d’une page. Les objectifs et la structure initiale d’IPP, exposés par RFC 2567 et RFC 2568, montrent plutôt pourquoi les attributs appartenaient à des objets bien définis.

La lecture de spécification minimale de Lu Heng éclaire le choix d’une extension facultative et composable. Sa lecture des couches de réalité rappelle ensuite la discipline nécessaire : ordre demandé, traitement interne, incrément, déplacement de la feuille, empilage et possession par l’utilisateur ne sont pas le même fait.

L’apport durable de RFC 3381 est d’avoir attaché une grammaire au nombre. Un compteur n’est une preuve qu’avec sa portée, son point de remise à zéro, son ordre d’exécution et la frontière que l’appareil est réellement capable d’observer.

Sources