\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]{jeu. mars 31 13:46:00 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={systemd-journal-gatewayd},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={serveur http pour les événements journaux},
CreationDate={D:20160331134600},
ModDate={D:20160331134600},
Keywords={systemd;Linux;boot}
}}
\begin{document}
 
\begin{center}
{\Huge systemd-journal-gatewayd, systemd-journal-gatewayd.service, systemd-journal-gatewayd.socket }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large serveur http pour les événements journaux}
 
\vspace{10mm}
 
\hspace{1mm}  systemd-journal-gatewayd dessert les événements journaux sur le réseaux. Les clients doivent se connecter en utilisant HTTP, sur le port 19531 par défaut. Le programme est démarré par systemd et attend de reçevoir un simple socket. utiliser \textbf{systemctl start systemd-journal-gatewayd.socket} pour démarrer le service, et \textbf{systemctl enable systemd-journal-gatewayd.socket}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --cert=]{Spécifie le chemin vers un fichier contenant un certificat serveur au format PEM.}
\item[\hspace{1mm} --key=]{Spécifie le chemin vers un fichier contenant un clé serveur au format PEM.}
\end{description}
 
\vspace{1cm}{\huge URL supportées }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} /browse]{Naviguer interactivement}
\item[\hspace{1mm} /entries\texttt{[}?option1\&option2=value...\texttt{]}]{Récupérer les événements dans divers format. La partie \textbf{Accept:} de l'en-tête http détermine le format. La partie \textbf{Range:} de l'en-tête http détermine la plage d'événements retournés. Les paramètres GET peuvent être utilisés pour modifier les événements à retourner.}
\item[\hspace{1mm} /machine]{Retourne une structure JSON décrivant la machine}
\end{description}
 
\hspace{1mm} Exemple:
 
{\ttfamily
\{ "machine\_id" : "8cf7ed9d451ea194b77a9f118f3dc446",\\ "boot\_id" : "3d3c9efaf556496a9b04259ee35df7f7",\\ "hostname" : "fedora",\\ "os\_pretty\_name" : "Fedora 19 (Rawhide)",\\ "virtualization" : "kvm",\\ ...\}\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} /fields/FIELD\_NAME]{Retourne une liste de valeurs de ce champs présent dans les logs}
\end{description}
 
\vspace{1cm}{\huge En-tête Accept }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} Accept: format]{Reconnaît les formats suivants:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} text/plain]{(défaut). sortie texte style syslog (comme journalctl --output short)}
\item[\hspace{6mm} application/json]{Entrées formattées en structures de données JSON (comme journalctl --output json)}
\item[\hspace{6mm} application/event-stream]{Entrées sérialisées en un flux binaire pour les sauvegardes et les transferts réseaux (comme journalctl --output export)}
\end{description}
 
\vspace{1cm}{\huge En-tête Range }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} Range: entries=cursor\texttt{[}\texttt{[}:num\_skip\texttt{]}:num\_entries\texttt{]}]{où cursor est une chaîne curseur, num\_skip est un entier, num\_entries est un entier non-signé.}
\end{description}
 
\vspace{1cm}{\huge Paramètres GET }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} follow]{Attend les nouveaux événements (comme journalctl --follow, excepté que le nombre d'evénements retourné n'est pas limité)}
\item[\hspace{1mm} discrete]{Teste si le curseur spécifié réfère à une entrée dans le journal. Retourne simplement l'entrée}
\item[\hspace{1mm} boot]{Limite les événements au boot courant du système (comme journalctl --this--boot)}
\item[\hspace{1mm} KEY=match]{Matche les champs du journal.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Récupère les événements du boot courant depuis le journal courant au format export \\
\hspace{1mm} \textbf{curl --silent -H'Accept: application/vnd.fdo.journal' 'http://localhost:19531/entries?boot'} \\
\hspace{1mm} Écoute pour les coredumps \\
\hspace{1mm} \textbf{curl 'http://localhost:19531/entries?follow\&MESSAGE\_ID=fc2e22bc6ee647b6b90729ab34a250b1'} \\
\end{flushleft}
\end{document}
