# Survol technique

Ce chapitre vise à donner un aperçu technique de &kdeprint; que les non-programmeurs puissent comprendre.

&kdeprint; est un outil nouveau et révolutionnaire pour donner un accès facile aux services d'impression pour à la fois les utilisateurs de &kde; et les développeurs de &kde;.

## Brève description de &kdeprint;

Vous pouvez accéder aux fonctions de &kdeprint; de différentes manières : par le gestionnaire d'impression du &centreConfiguration;, par la commande `kprinter` ou par le dialogue qui surgit lorsque vous voulez imprimer.

### Ce que ce n'est pas

&kdeprint; n'est pas un substitut pour le sous-système d'impression lui-même. &kdeprint; ne gère pas la file d'attente et ne fait pas le traitement de base de &PostScript; ou autre données d'impression.

### Ce que c'est

&kdeprint; est une couche intermédiaire entre la file d'attente et le sous-système de processus d'impression des données (comme installé), et l'application qui atteint l'imprimante. &kdeprint; fournit une interface commune pour les développeurs de &kde; et les utilisateurs de &kde; pour divers sous-systèmes d'impression. En même temps, elle est personnalisable et très configurable.

&kdeprint; est facile à utiliser pour à la fois les développeurs et les utilisateurs finaux de &kde;. Les développeurs peuvent porter leurs applications avec un minimum de changements pour utiliser &kdeprint; au lieu de l'ancien système &Qt; print. Les utilisateurs peuvent facilement choisir et configurer leur sous-système d'impression.

Pour une référence pour les nouveaux utilisateurs de &kde;, &Qt; est la bibliothèque de base et le jeu d'outils graphique qui est utilisé par toutes les applications &kde; ; &Qt; est développé par TrollTech, une société de logiciels norvégienne.

## &kdeprint; -- Différents usages pour différentes personnes

&kdeprint; a différents visages pour les différentes personnes.

### Ce que les utilisateurs et les administrateurs peuvent faire avec &kdeprint;

&kdeprint; permet aux utilisateurs et / ou administrateurs, en fonction de leurs droits, d'accéder aux sous-systèmes d'impression (&CUPS;, LPD, RLPR, LPRng, PDQ &etc;) à travers une interface graphique utilisateur &kde; (&GUI;). En utilisant &kdeprint;, ils peuvent imprimer, administrer les tâches, les imprimantes et le démon d'impression, le tout d'une manière confortable.

Les utilisateurs expérimentés aimeront la capacité de connecter n'importe quel filtre pour l'impression de données entre la sortie de leur application et l'entrée, dans le sous-système choisi. Quelques exemples pour ceci sont déjà fournis avec &kdeprint;plain vanilla. Lisez donc.

### Ce que les développeurs de &kde; peuvent faire avec...

Si un développeur de &kde; a besoin d'un accès à l'impression pour son application, il ne code pas les fonctions d'impression à partir de rien. Avant &kde; 2.2, ce service était fourni par la classe `QPrinter`, une fonction de bibliothèque du jeu d'outils &Qt;. La classe `QPrinter` reposait sur le démodé Line Printer Daemon (LPD). La bibliothèque &kdeprint; elle-même repose sur le plus moderne Common &UNIX; Printing System (&CUPS;), alors qu'en même temps, la compatilité rétrograde avec LPD et autres héritages ou systèmes d'impression moins élaborés. Il laisse aussila porte ouverte pour n'importe quel développement qui pourrait survenir.

Pour que les développeurs de &kde; utilisent la nouvelle classe &kdeprint; dans leurs applications, ils n'ont besoin que de changements minimaux à leur code : pour chaque appel de `QPrinter`, ils ont juste besoin de changer ceci en `KPrinter`. En remplaçant une ( ! ) lettre dans quelques endroits, tout est fait ; leur application peut utiliser toutes les fonctionnalités de la nouvelle bibliothèque &kdeprint;.

Les développeurs plus ambitieux, ou ceux qui ont des besoins particuliers, peuvent faire mieux : en dépit du cadre riche en fonctionnalités de &kdeprint;, ils sont encore capables de personnaliser le dialogue d'impression de leur application en créant un onglet supplémentaire, avec leurs extensions au &kdeprint; standard pour se sentir bien chez eux.

Cette dernière fonctionnalité n'a pas été largement utilisée largement dans &kde; jusqu'à maintenant, car les développeurs ne connaissent pas vraiment la puissance de &kdeprint;. Attendez-en plus dans l'avenir. Un exemple que j'ai découvert est l'application &kcron;. Elle vous permet de modifier le crontab à travers une &GUI;. Les développeurs ont implémenté une fonctionnalité d'impression qui vous permet (ou root) de choisir si vous voulez imprimer la totalité de crontab (pour tous les utilisateurs) ou juste la partie qui est marquée. Vous pouvez voir les effets sur &kdeprint; dans les captures d'écran suivantes.

Cette capture montre un exemple tiré de l'utilitaire &kcron;. L'utilitaire &kcron; : un petit exemple des tâches programmées du système comme montré par le &GUI; de &kde;. Les développeurs de &kcron; vous permettent de choisir d'imprimer la totalité de la table cron ou juste la partie marquée.

La boîte de dialogue pour configurer les options d'impression de &kcron; : l'onglet additionnel intitulé Cron vient de l'intérieur de &kcron; et pas de &kdeprint; ; c'est une extension spéciale ajoutée par les développeurs de &kcron; pour un but d'impression, pas originaire, mais exécuté par &kdeprint;. Les développeurs des autres applications sont libres d'implémenter leurs propres modules externes, s'ils en ont besoin ou envie.

L'ajout de &kcron; à la boîte de dialogue &kdeprint;.
L'ajout de &kcron; à la boîte de dialogue &kdeprint;.

L'ajout de &kcron; à la boîte de dialogue &kdeprint;.

### Ce que &kdeprint; offre à tout un chacun...

L'interface facile à utiliser de &kdeprint; pour tous les sous-systèmes d'impression n'élimine pas bien sûr les faiblesses traditionnelles de base de ces systèmes. Mais elle arrondit certains angles. Différents utilisateurs peuvent utiliser différents systèmes d'impression sur le même ordinateur. Un utilisateur peut même basculer au vol, depuis la boîte de dialogue d'impression, de sous-système à utiliser pour la tâche suivante. (C'est possible si différents systèmes sont installés de manière à ne pas interférer).

La plupart des utilisateurs d'&UNIX; sont habitués à l'impression LPD. LPD ne fournit que des fonctions d'impression de base, est très rigide et n'utilise pas les nombreuses fonctions des systèmes d'impression plus modernes comme &CUPS;. Lors d'un travail distant (comme basé sur le protocole TCP/IP), LPD manque de communication bidirectionnelle, d'authentification, de contrôle d'accès et de chiffrement.

&kdeprint; peut utiliser &CUPS; pour gérer :

- La requête par le LAN pour les imprimantes disponibles,

- Bases, résumé et Certificat d'authentification

- Le contrôle d'accès basé sur les adresses IP, les adresses réseau, les masques de réseau, les hôtes et les noms de domaines,

- et le chiffrement des données à imprimer en TLS 128 bits ou SSL3, pour empêcher l'espionnage ou au moins le rendre bien plus difficile.

Ceci fait de &kdeprint; une solution bien plus robuste et fiable que le vénérable LPD.

### Comment accéder à &kdeprint;

Vous pouvez accéder à &kdeprint;, ou à certaines de ses parties, de différentes manières :

- à travers votre application : si vous appelez le dialogue d'impression (soit Fichier Imprimer..., soit le bouton avec une petite icône d'imprimante), cela ouvre le dialogue d'impression.

- par la commande saisie au clavier `kprinter` dans une fenêtre de terminal ou une &konsole;ou depuis Exécuter..., la fenêtre de mini-CLI : ceci ouvre aussi la boîte de dialogue d'impression.

- depuis le bouton, en lançant le &centreConfiguration;, puis dans Périphériques Imprimantes. Ceci ouvre la gestion de &kdeprint;, qui fait partie du &centreConfiguration;, et aussi vous permet de basculer vers les autres composants du &centreConfiguration;

- depuis une ligne de commande (&konsole; ou mini-CLI), saisissez ``kcmshell` `printers``. Ceci ouvre juste le composant &kdeprint; du &centreConfiguration; pour changer vos réglages

Le dialogue de &kprinter; à lancer depuis la fenêtre Exécuter...
Le dialogue de &kprinter; à lancer depuis la fenêtre Exécuter...

Le dialogue de &kprinter; à lancer depuis la fenêtre Exécuter...

Voici un dessin &kivio; de la boîte de dialogue &kprinter; comme elle surgit après démarrage... Vous pouvez toujours ajouter une imprimante en cliquant sur le petit bouton Assistant (marqué de jaune et de rouge sur ce dessin).

Boîte de dialogue de &kprinter; (dessin &kivio;)
Boîte de dialogue de &kprinter; (dessin &kivio;)

Boîte de dialogue de &kprinter; (dessin &kivio;)