Common Unix Printing System

Infos
right Le Common Unix Printing System (CUPS) est un système modulaire d'impression informatique pour les systèmes d'exploitation Unix et assimilés qui permet à un ordinateur de se comporter comme un puissant serveur d'impression. Un ordinateur qui utilise CUPS est un serveur qui peut accepter des travaux d'impression envoyés par des ordinateurs clients, les traiter, et les envoyer à l'imprimante qui convient.
Common Unix Printing System

right Le Common Unix Printing System (CUPS) est un système modulaire d'impression informatique pour les systèmes d'exploitation Unix et assimilés qui permet à un ordinateur de se comporter comme un puissant serveur d'impression. Un ordinateur qui utilise CUPS est un serveur qui peut accepter des travaux d'impression envoyés par des ordinateurs clients, les traiter, et les envoyer à l'imprimante qui convient.

Historique

CUPS fut créé fin 1999 par Michael Sweet et Andrew Senft, propriétaires de Easy Software Products, et resta à l'état de prototype (alpha et beta) durant 2 ans avant la première version. Le premier axe de développement fut concentré sur l'utilisation de LPD, cependant à cause de l'incompatibilité de certaines marques, le protocole d'impression Internet était aussi fourni comme une alternative plus efficace dans quelques situations. Il fut vite adopté comme le système d'impression par défaut pour plusieurs distributions Linux, y compris Linux Red Hat. Depuis Mars 2002 il est utilisé comme le système d'impression par défaut sur Mac OS X d'Apple après que celui-ci a renoncé à développer son propre système d'impression. En février 2007, Apple rachète CUPS et engage Michael Sweet pour continuer sa maintenance. http://www.cups.org/articles.php?L475

Vue d'ensemble

CUPS fournit un mécanisme qui permet à des travaux d'impression d'être envoyés aux imprimantes en mode standard. Les données sont envoyées à un planificateur qui envoie les travaux à un système de filtre qui convertit le tirage en format que l'imprimante supportera. Le système de filtre transmet alors les données à un filtre spécial qui envoie les données d'impression à un périphérique ou une connexion réseau. Le système fait l'utilisation étendue du PostScript et la rasterization des données pour convertir les données à un format qui convienne à l'imprimante. CUPS permet aux constructeurs d’imprimantes et aux développeurs de pilotes d’imprimantes de créer facilement des pilotes qui fonctionnent directement sur le serveur d’impression. Le processus se fait sur le serveur, ce qui permet de faciliter les impressions en réseau par rapport aux autres systèmes d’impression UNIX. Quand elles sont utilisées avec SAMBA, les imprimantes peuvent être utilisées par des ordinateurs à distance fonctionnant sous Windows et des pilotes génériques PostScript peuvent être utilisés pour imprimer à travers tout le réseau. CUPS est un gestionnaire de taches d'impressions Unix, un système de filtre convertit les données à imprimer dans un format que l'imprimante pourra interpreter, et le programme envoie ces données vers le materiel d'impression. CUPS utilise comme base le protocole IPP d'impression internet (Internet Printing Protocol) pour gérer la liste des taches d'impression. Il fournit également le traditionnel Système V et l'interface en ligne de commande Berkeley, avec un support limité pour le protocole SMB (Server Message Block). Les pilotes que CUPS fournit peuvent être configurés à l'aide de fichiers texte au format PPD (PostScript Printer Decription d'Adobe). Il y a plusieurs interfaces utilisateur adaptées aux différentes plateformes qui permettent de configurer CUPS. Elles sont construites sur la base d'une interface web. CUPS est distribué sous la licence GNU GPL (General Public License) et GNU LGPL Version 2 (Lesser General Public License).

Système de filtre

- CUPS gère l'envoi de différents types de données vers le serveur CUPS qui les convertit en un format que l'imprimante comprendra et sera capable d'imprimer.
- Un des principaux avantages de CUPS est qu'il peut interpréter une grande variété de formats de données pour le serveur d'impression. Il convertit les données à imprimer dans le language/format final via une série de FILTRE. Il utilise pour cela les types MIME (Multipurpose Internet Mail Extensions). MIME est un standard internet pour le format des courriers électroniques mais il est communément utilisé dans d'autres systèmes pour déterminer le type de fichier que le système est en train de traiter.

Le planificateur

Le planificateur de CUPS peut implémenter l'IPP (protocole d'impression réseau) ou LPD (démon d'impression). Il accepte les requêtes HTTP 1.1, et il fournit une interface web pour la gestion de la file d'attente, la configuration du serveur, et sa documentation. Un module d'autorisation contrôle quels messages IPP et HTTP peuvent passer au travers le système. Une fois que les paquets IPP/HTTP sont autorisés ils sont envoyés au module client, qui écoute et traite les connexions entrantes. Le module client est aussi responsable de l'exécution externe du programme CGI comme du support web des imprimantes, du contrôle et de l'administration. Une fois que ce module a traité ses requêtes, ils les envoie vers les modules IPP qui valident l'URI afin d'empêcher un client de contourner l'identification du server HTTP. L'URI est une chaîne qui indique le nom ou l'adresse du réseau physique ou logique. Le planificateur autorise les classes d'imprimantes; les applications peuvent envoyer des requêtes à des groupes d'imprimantes d'une classe, ce qui permet au planificateur de diriger le travail vers la première imprimante libre. Un module de travaux gère les travaux d'impression, il les envoie vers le filtre et vers le programme pour finaliser la conversion et l'impression, et pour contrôler le statut de ces processus.

Base de données MIME (Multipurpose Internet Mail Extensions)

Après que la tâche d'impression ait été assigné au planificateur, elle est passée au système de filtrage de CUPS. Ceci convertit les données dans un format exploitable par l'imprimante. Durant le démarrage, le démon CUPS charge deux bases de données MIME : mime.types qui définit les types de fichiers connus dont CUPS accepte les données, et mime.convs qui définit les programmes qui traitent chaque type MIME particulier. Le fichier mime.types a la syntaxe suivante : mimetype Par exemple, pour détecter un ficher HTML, la ligne qu'il faudrait entrer serait : La deuxième ligne associe le contenu du fichier au type MIME spécifié en déterminant que le premier kilo-octet du texte dans le fichier contient des caractères imprimables et que ceux-ci incluent des balises HTML. Si le chemin ci-dessus associe le système de filtre marquerait le fichier en tant que type MIME texte/HTML. Le fichier mime.convs a la syntaxe suivante : source destination cost program Le champ « source » est le type MIME qui est déterminé au vue du fichier mime.types, pendant que le champs destination liste le type de sortie requise et détermine quel programme devrait être utilisé. Le champ « cost » assiste dans la sélection de jeux de filtres quand on convertit un fichier. Le dernier champ, « program », détermine quel programme de filtre est utilisé pour réaliser les conversions de données. Quelques exemples : application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster Vous trouverez plus d'informations au sujet de ces bases de données à l'adresse suivante : http://www.cups.org/sam.html
-FILE_TYPING_FILTERING

Le processus de filtrage

Le processus de filtrage fonctionne en recevant des données pré formatées avec six arguments : le nom de la file d’impression ou du filtre (d’impression), l’identifiant de la tâche demandant l’impression du document, le nom d’utilisateur, le nom du processus, le nombre de copies à imprimer, des options d’impression, le nom du fichier à imprimer (bien qu’il ne soit pas nécessaire si il a été redirigé depuis l’entrée standard). Il détermine ensuite le type de données qui ont été envoyées et le type de filtre associé grâce à la base de données MIME. Ces données peuvent aussi être converties au format PostScript ou directement sous forme de trame. Si il est convertit en PostScript un filtre supplémentaire appelé pré filtre est appliqué afin d’ajouter des option d’impression au PostScript original. Par exemple la sélection des pages à imprimer…. Après que le pré filtrage a eu lieu, les données sont envoyées directement au programme CUPS (si on utilise une imprimante PostScript), elle passe par un autre filtre (comme Foomatic de linuxprinting.org), ou par Ghostscript qui transcrit le PostScript en trame CUPS qui est une sorte de format intermédiaire (le type MIME associé est application/vnd.cups-raster). Le format intermédiaire de la trame est alors transmis à un filtre final qui convertit les données de la trame en une trame spécifique à l’imprimante. Les filtres par défaut qui sont inclus avec CUPS sont : trame vers PLC, trame vers ESP/P ou ESP/P2 (un langage d’impression EPSON, actuellement très utilisé par leur nouveau format ESC/P-Raster) et trame vers Dymo (un autre fabricant d’imprimante). Cependant, il y a d’autres alternatives qui peuvent être utilisées avec CUPS. ESP, les créateurs de CUPS, ont réalisés leurs propres filtres CUPS ; Gimp-Print est une gamme de pilotes pour imprimante de haute qualité (principalement) pour les imprimantes à jet d’encre, et le Turbo-Print pour Linux a une autre gamme de pilotes de qualité pour une large gamme d’imprimantes.

Red Hat Linux/Fedora

Au début avec RED HAT Linux 9, un gestionnaire d'impression pré-installé basé sur CUPS et intégré dans GNOME était fourni. Cela permettait l’ajout d’imprimantes via une interface utilisateur similaire à celle de Microsoft, où une nouvelle imprimante pouvait être ajoutée en utilisant un logiciel de configuration wizard, avec lequel on pouvait changer les propriétés de l'imprimante par défaut dans une fenêtre contenant une liste d'imprimantes installées. Les processus d'impression pouvait également être démarrés et stoppés en utilisant un gestionnaire d'imprimantes, et l'imprimante pouvait être mise en pause en utilisant un menu contextuel qui apparaît à l'écran après un clic droit sur l'îcone de l'imprimante. Ce système a été critiqué par Eric Raymond dans son œuvre The Luxury of Ignorance (Le luxe de l'ignorance). Raymond a essayé d'installer CUPS en utilisant le gestionnaire d'imprimantes de la FedoraCore 1. IL ne l'a pas trouvé intuitif et a critiqué l'interface sur le fait que celle-ci ne prenait pas en compte le point de vue de l'utilisateur. Il a trouvé que l'idée des listes d'imprimantes n'était pas claire car les utilisateurs créaient des listes en local sur leur ordinateur mais ces listes étaient en réalité créées sur le serveur CUPS. Il a également trouvé la surabondance des choix de types de liste d'impression confuse du fait qu'il pouvait choisir les réseaux CUPS (IPP), Unix (LDP), Windows (SMB), Novell (NCP) ou JetDirect. Il a trouvé le(s) fichier(s) de configuration remarquablement inutile(s) et largement non-pertinent pour répondre aux besoins de l'utilisateur. Raymond a utilisé CUPS en tant que thème général pour montrer que l'interface utilisateur des bureaux Linux avait besoin d'être repensée. Il a déclaré : Le gros problème ici, est que la configuration wizard effectue tous les processus approuvés (GUI, avec des boutons à cliquer standards, l'aide apparaissant dans un navigateur) mais ne possède pas l'attribut central qu'il est supposé réaliser : la recherche simple et rapide. Ce qui fait la qualité d'une interface, c'est le fait qu'à chaque action soit associée un commentaire, depuis lequel vous pouvez apprendre que faire par la suite. Votre projet a-t-il cette qualité ?

La fonction KDEPrint : un module de configuration du serveur CUPS

KDEPrint, pour KDE, est une plateforme contenant divers outils graphiques qui fonctionne comme l'interface graphique de CUPS et permet l'administration des classes, des files et travaux d'impression; un assistant d'impression est inclue pour aider dans l'ajout de nouvelles imprimantes parmi d'autres fonctions. Cela a été ajouté dans la version 2.2 de KDE. KDEPrint supporte différentes plateformes d'impression, parmi lesquelles CUPS est considérée comme l'une des meilleures supportées. Cela a remplacé une version précédente de supports d'impression pour KDE, qtcups et est compatible avec ce module de KDE. Krpinter, une boîte de dialogue, est maintenant l'outil principal pour envoyer des travaux au matériel d'impression ; il peut aussi être lancé par ligne de commande. KDEPrint inclut aussi un système qui va pré-filtrer chaque travail avant de l'envoyer à CUPS, ou pour s'occuper lui-même des travaux (comme convertir un fichier en PDF) ; ces filtres sont décrits par une paire de fichier XML. Les composants principaux de KDEPrint sont une fenêtre de dialogue pour l'impression, qui permet la modification des propriétés d'impression, un gestionnaire d'impression qui permet la gestion du parc d'imprimantes (ajout et suppression d'imprimantes), un assistant d'ajout d'imprimantes et un outil de visualisation et de gestion des travaux qui géreront les travaux d'impression (comme pause/reprendre, annuler, transférer vers une autre imprimante). Il y a aussi un module de configuration CUPS qui est intégré à KDE. Avant KDE 2.2, KDE utilisait Kups, un outil GUI qui était une interface graphique de CUPS et permettait l'administration des classes, file d'attente et travaux d'impression ; il avait un assistant d'ajout de nouvelle imprimante pour aider à l'ajout de nouvelles imprimantes parmi d'autres fonctions. Le CUPS de Mandrake Linux peut être géré dans le centre de contrôle de la Mandrake. Élargir le CUPS peut aussi être géré de là. Dans la version 10.1 de la Mandrake de Linux, une interface graphique pour gérer l'impression a été créée. C'est basiquement une interface pour CUPS et permet aux utilisateurs d'ajouter, enlever et mettre à jour les imprimantes, aussi bien que le contrôle des travaux d'impression. Ceci est fait d'un programme centralisé de configuration qui tient compte de la configuration de serveur de CUPS dans un ensemble centralisé d'écrans.

Sources

-

Liens

- Catégorie:Logiciel libre Catégorie:Logiciel applicatif Catégorie:Logiciel pour Unix Catégorie:Impression da:Common Unix Printing System de:Common Unix Printing System en:Common Unix Printing System es:Common Unix Printing System fi:CUPS it:Common unix printing system ja:Common Unix Printing System pl:Common UNIX Printing System ru:Cups sl:Skupni tiskalniški sistem za Unix sv:CUPS
Sujets connexes
Common Gateway Interface   Courrier électronique   Fedora   Filtre (informatique)   GNOME   Imprimante   Mac OS X   Multipurpose Internet Mail Extensions   Ordinateur   PostScript   Printer Postscript Description   Protocole d'impression Internet   Rastérisation   Red Hat   Samba (informatique)   Serveur d'impression   Serveur informatique   Système d'exploitation   Uniform Resource Identifier  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^