\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. sept. 18 13:52:12 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={ippfind},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Trouver des imprimantes réseaux},
CreationDate={D:20160918135212},
ModDate={D:20160918135212},
Keywords={cups;printer}
}}
\begin{document}
 
\begin{center}
{\Huge ippfind }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Trouver des imprimantes réseaux}
 
\vspace{10mm}
 
\hspace{1mm}  ippfind trouve les services enregistrés avec un serveur DNS ou disponibles via des périphériques locaux. Son principal but est de trouver les imprimantes IPP et d'afficher leurs URI, afficher leur status actuel, ou lancer des commandes.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Types d'enregistrement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} \_http.\_tcp]{HTTP, rfc2616}
\item[\hspace{1mm} \_https.\_tcp]{HTTPS, rfc2818}
\item[\hspace{1mm} \_ipp.\_tcp]{IPP, rfc2911}
\item[\hspace{1mm} \_ipps.\_tcp]{IPPS, draft}
\item[\hspace{1mm} \_printer.\_tcp]{LPD, rfc1179}
\end{description}
 
\vspace{1cm}{\huge Expressions }
 
\
 
\hspace{1mm}  ippfind supporte les expressions comme find(1). Cependant, à la différence de find, ippfind utilise les expressions régulières POSIX au lieu des motifs de correspondance shell. Si --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s ou -x ne sont pas spécifiés, ippfind ajoute --print.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -d regex, --domain regex]{Vrai si le domaine correspond à l'expression régulière}
\item[\hspace{1mm} --false]{Toujours faux}
\item[\hspace{1mm} -h regex, --host regex]{Vrai si le nom d'hôte correspond à l'expression régulière}
\item[\hspace{1mm} -l, --ls]{Liste les attributs retournés par Get-Printer-Attributes pour les imprimantes IPP et sort les URLs HTTP.}
\item[\hspace{1mm} --local]{Vrai si le service est local à cette machine}
\item[\hspace{1mm}  -n regex, --name regex]{Vrai si le nom de l'instance du service correspond à l'expression régulière}
\item[\hspace{1mm} --path regex]{Vrai si le chemin de ressource URI correspond à l'expression régulière}
\item[\hspace{1mm} -P number\texttt{[}-number\texttt{]}, --port number\texttt{[}-number\texttt{]}]{Vrai si le port correspond à la plage de nombre donnée}
\item[\hspace{1mm} -p, --print]{Imprime l'URI si le résultat des expressions précédentes sont vrai. Le résultat est toujours vrai}
\item[\hspace{1mm} -q, --quiet]{Mode silencieux, retourne simplement les codes de sortie}
\item[\hspace{1mm} -r, --remote]{Vrai si le service n'est pas local}
\item[\hspace{1mm} -s, --print-name]{Imprime le nom de l'instance du service si le résultat de la précédente expression est vrai. Le résultat est toujours vrai}
\item[\hspace{1mm} --true]{Toujours vrai}
\item[\hspace{1mm} -t key, --txt key]{Vrai si l'enregistrement TXI contient la clé nommée}
\item[\hspace{1mm} --txt-key regex]{Vrai si l'enregistrement TXT contient la clé nommé et correspond à l'expression régulière}
\item[\hspace{1mm} -u regex, --uri regex]{Vrai si l'URI correspond à l'expression régulière}
\item[\hspace{1mm} -x utility \texttt{[} argument ... \texttt{]}, --exec utility \texttt{[} argument ... \texttt{]} ;]{Exécute le programme spécifié si le résultat courant est vrai. Les arguments "\verb|{|foo\verb|}|" sont remplacées avec la valeur correspondante (voir les substitutions)}
\end{description}
 
\hspace{1mm}  Les expressions peuvent également contenir les modifiers suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} ( expression )]{Groupe le résultat des expressions}
\item[\hspace{1mm} ! expression, --not expression]{Inverse le sens de l'expression}
\item[\hspace{1mm} expression --and expression]{ET logique}
\item[\hspace{1mm} expression --or expression]{OU logique}
\end{description}
 
\vspace{1cm}{\huge Substitutions }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} \{service\_domain\}]{Nom de domaine}
\item[\hspace{1mm} \{service\_hostname\}]{Nom de l'instance du service}
\item[\hspace{1mm} \{service\_port\}]{Numéro de port pour le serveur}
\item[\hspace{1mm} \{service\_regtype\}]{Type d'enregistrement DNS-SD}
\item[\hspace{1mm} \{service\_scheme\}]{Schéma d'URI pour le type d'enregistrement DNS-SD}
\item[\hspace{1mm} \{service\_uri\}]{URI pour le service}
\item[\hspace{1mm} \{txt\_key\}]{Valeur de l'enregistrement TGT key (en minuscule)}
\end{description}
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -4]{Utilise IPv4}
\item[\hspace{1mm} -6]{Utilise IPv6}
\item[\hspace{1mm} -T seconds]{Timeout en secondes. À 1 ou inférieur, ippfind stop dès qu'il pense avoir tout trouvé}
\item[\hspace{1mm} -V version]{Version IPP.}
\end{description}
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} IPPFIND\_SERVICE\_DOMAIN]{Nom de domaine}
\item[\hspace{1mm} IPPFIND\_SERVICE\_HOSTNAME]{FQDN}
\item[\hspace{1mm} IPPFIND\_SERVICE\_NAME]{Nom de l'instance du service}
\item[\hspace{1mm} IPPFIND\_SERVICE\_PORT]{Numéro de port pour le serveur}
\item[\hspace{1mm} IPPFIND\_SERVICE\_REGTYPE]{Type d'enregistrement DNS-SD}
\item[\hspace{1mm} IPPFIND\_SERVICE\_SCHEME]{Schéma d'URI pour le type d'enregistrement DNS-SD}
\item[\hspace{1mm} IPPFIND\_SERVICE\_URI]{URI pour le service}
\item[\hspace{1mm} IPPFIND\_TXT\_KEY]{Valeur de l'enregistrement TYT pour KEY (majuscule)}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Affiche le status de toutes les imprimantes IPP enregistrés sur le réseaux \\
\hspace{1mm} \textbf{ippfind --ls} \\
\hspace{1mm} Envoyer une page de test PostScript à toutes les imprimantes PostScript \\
\hspace{1mm} \textbf{ippfind --txt-pdl application/postscript --exec ipptool -f onepage-letter.ps '\{\}' print-job.test} \\
\end{flushleft}
\end{document}
