Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Créer un serveur d'impression (compatible AirPrint) avec une Rapsberry Pi

Par Ky Van DOAN Publié le 22/10/2015 à 12:25:08 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Vous connaissez sûrement la fameuse Rapsberry Pi, un micro-ordinateur vendu au prix coûtant de 35 €. Nous allons ainsi l'utiliser pour transformer n'importe quelle imprimante en imprimante réseau, compatible AirPrint.

 

AirPrint est une fonctionnalité d'iOS (depuis la version 4.2.1) et d'OS X (depuis 10.6 Lion) qui permet d'imprimer directement depuis les iPhone, iPad, iPod touch et Mac ; cependant, elle nécessite une imprimante compatible avec AirPrint.

 

Évidemment, si nous sommes là, c'est parce que nous n'avons pas d'imprimante compatible AirPrint... Par conséquent, nous allons la rendre compatible avec cette fonctionnalité !

 

Pour résumer, nous allons utiliser la Raspberry Pi comme interface réseau pour l'imprimante.

Préambule

Pour poursuivre ce tutoriel, il vous faut un Raspberry Pi (peu importe le modèle) et une imprimante, préférablement compatible avec CUPS, le module d'impression destiné aux environnements UNIX.

Vous pouvez consulter ce site pour vérifier si votre imprimante est listé comme compatible avec CUPS : http://www.openprinting.org/printers

 

Pour illustrer ce tutoriel, j'utiliserai personellement une Raspberry Pi 2 modèle B avec Raspbian Wheezy et une imprimante HP DeskJet F4180 (série F4100).

 

Note : j'utilise, personnellement, Wheezy au lieu de Jessie à cette date de publication car cette nouvelle version souffre de bogues récurrents liés à la persistence de certaines configurations entrées manuellement.

 

Nous considérons que votre Raspberry Pi est opérationnelle avec la distribution Raspbian (un dérivé de Debian) et est connecté au réseau local.

L'adresse IP locale qui sera utilisé pour illustrer ce tutoriel sera le 192.168.0.80. Remplacez la avec celle qui correspondra à votre configuration.

 

Pour rappel, l'utilisateur par défaut sous Raspbian est "pi" et le mot de passe associé est "raspberry". Il est fortement recommandé de modifier le mot de passe par défaut par mesure de sécurité.

 

Vous pouvez évidemment réaliser toute cette procédure directement depuis la Raspberry Pi, cependant, pour des questions de praticité, ce tutoriel sera illustré par une administration par SSH.

Assigner une adresse IP fixe

Le premier réflexe pour tous serveurs, c'est de lui assigner une adresse IP fixe. Si ce n'est pas encore le cas, vous pouvez le faire en saissant la commande suivante :

sudo nano /etc/network/interfaces

Note : vous pouvez évidemment utiliser vi ou vim selon votre convénience

 

Dans le fichier qui s'ouvre, remplacez :

iface eth0 inet dhcp

par :

auto eth0 
allow-hotplug eth0 
iface eth0 inet static 
address 192.168.0.80 
netmask 255.255.255.0 
gateway 192.168.0.1

 

Dès lors que les modifications ont été effectuées, quittez l'éditeur en enregistrant les modifications.

 

Relancez ensuite le processus réseau en saisissant la commande :

sudo service networking restart

Installation des ressources pour l'impression en réseau

Cette nouvelle étape consiste à installer les paquets nécessaires pour installer l'imprimante, la mettre en réseau et la rendre compatible avec la fonctionnalité AirPrint.

 

Saisissez les deux commandes suivantes, la première étant destinée à rafraîchir les dépôts des paquets :

sudo apt-get update
sudo apt-get install avahi-daemon cups cups-pdf python-cups

Modification du fichier de configuration de CUPS

La modification du fichier de configuration de CUPS va gérer les autorisations d'accès au panneau d'administration de CUPS et autoriser les ressources (utilisateurs et ordinateurs par exemple) à utiliser l'imprimante que nous allons installer et mettre en réseau.

 

Vous pouvez éditer le fichier de configuration cupsd.conf en saisissant cette commande pour ouvrir l'éditeur :

sudo nano /etc/cups/cupsd.conf

 

Puis modifiez le fichier pour que certains paramètres correspondent à ce qui suit :

# Only listen for connections from the local machine.
#Listen localhost:631
Port 631

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local
</Location>

 

 

Une fois le fichier édité, fermez l'éditeur en sauvegardant les modifications, puis redémarrez le service CUPS :

sudo service cups restart

 

Nous allons ensuite autoriser l'utilisateur par défaut de Raspbian, pi, à administrer les imprimantes :

sudo adduser pi lpadmin

Ajout de l'imprimante

Avant de commencer, assurez-vous que l'imprimante est sous tension et est bien connectée à la Raspberry Pi.

 

Rendez-vous ensuite sur le panneau de configuration CUPS en allant à l'adresse https://192.168.0.80:631, remplacez l'adresse IP dans l'URL par celle de votre Raspberry Pi, suivi du port 631.

 

Le navigateur va vous alerter sur le certificat de sécurité qui n'est pas correctement signé, ingorez ce message et poursuivez.

 

Rendez-vous ensuite dans l'onglet "Administration", puidans la sous-partie "Server", cochez la case "Share printers connected to the system" pour partager les imprimantes, puis cliquez sur "Save changes" pour sauvegarder la modification.

Vous serez peut-être ammener à saisir les identifiants de l'administrateur de la Raspberry Pi, le nom d'utilisateur est pi, le mot de passe par défaut étant raspberry.

 

Sur cette même page Administration, dans la sous section Printers, cliquez sur le bouton Find New Printers pour lancer la détection de votre imprimante. Vous imprimante devrait par la suite apparaître, avec le bouton Add This Printer. Cliquez dessus pour ajouter votre imprimante dans CUPS.

 

Note : si deux imprimantes s'affichent comme dans mon cas, sélectionnez l'imprimante qui contient le plus de paramètres dans son adresse physique, ici le numéro de série fait la différence.

 

Remplissez ensuite les informations pour identifier votre imprimante, le champ le plus important étant Name, c'est le nom qui vous permettra de reconnaître l'imprimante sur le réseau. Dans mon cas, je vais simplement l'appeler "Imprimante", juste pour des questions de praticité.

N'oubliez pas de cocher la case Share this printer !

Puis cliquez sur le bouton Continue afin de poursuivre.

 

Vous allez ensuite sélectionner la marque et le modèle de votre imprimante, cela permettra à CUPS de charger le pilote adéquat. Une fois le bon modèle d'imprimante sélectionné, cliquez sur Add printer pour valider votre choix.

 

Note : dans mon cas, deux modèles identiques sont disponibles, généralement chez HP, choisissez le pilote hpcups qui est la version qui succède à hpijs.

 

La dernière étape consiste à valider les options d'impression par défaut. Le choix du modèle d'imprimante à l'étape précédente a pré-rempli automatiquement ces données. Laissez-les par défaut, et cliquez sur Set Default Options.

 

Pour terminer, redémarrez la Raspberry Pi pour avoir l'assurance de relancer tous les services correctement à l'aide de la commande suivante :

sudo reboot

Conclusion

Pour les connaisseurs, vous aurez remarqué qu'il n'est plus nécessaire de configurer avahi manuellement !

 

L'imprimante est désormais correctement configuré ! Vous pouvez désormais ajouter l'imprimante réseau à votre ordinateur sous Windows, OS X, Linux, mais aussi utiliser la fonctionnalité AirPrint !

 

Après ce tutoriel, vous n'aurez plus besoin d'acheter une nouvelle imprimante réseau avec compatibilité AirPrint pour profiter de l'impression en réseau depuis tous vos appareils !

 

Si cette publication vous a interessé et vous a été utile, n'hésitez pas à noter cette publication grâce aux étoiles en tête de page ! Retrouvez également mes autres publications à cette adresse : https://www.supinfo.com/articles/author/159228-ky-van-doan

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels