\section{Moyens}

Choix d’outils pour l’implémentation de trois grandes phases :

\begin{itmz}
\item{mettre en place des opérations clés incontournables}
\item{automatiser l’exécution de ces tâches cohérentes}
\item{étendre le spectre de manipulations automatisables}
\end{itmz}

%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
\hr
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

\subsection{Rationalisation}

\subsubsection{Production}

\gls{wysiwyg}\\
LibreOffice, MicroSoft Office, WPS Office.\\
OpenOffice, StarOffice.

\gls{wysiwym}\\
GraphViz, \LaTeX, Sphinx.

\subsubsection{Conversion}

ImageMagick, PanDoc.

\subsubsection{Logique de sauvegarde}

Enregistrer très souvent son travail, pour ne pas perdre d’information.

\subsubsection{Gestion de configuration}

Utilise un outil permettant à la fois de :
\begin{itmz}
\item{sauvegarder des modifications partielles de document en tant que telles}
\item{travailler séparément sur différents contextes de modifications}
\item{intégrer à un document des modifications de collaborateurs}
\end{itmz}

Git, Mercurial, SubVersioN.

\subsubsection{Réplication de contenus}

Répliquer régulièrement à plusieurs endroits, pour une disponibilité constante.

\subsubsection{Signature numérique}

Pouvoir vérifier l’authenticité du document, quand consulté par des personnes.

GnuPG, OpenPGP.

Signer un document :
\begin{lstlisting}[language=sh]
gpg
--armor               # sous forme textuelle
--detach-sign         # signer dans un fichier séparé
'nom_du_document.pdf' # ce document
\end{lstlisting}

Vérifier une signature :
\begin{lstlisting}[language=sh]
gpg
--verify                  # vérifier la validité
'nom_du_document.pdf.asc' # de cette signature
'nom_du_document.pdf'     # pour ce document
\end{lstlisting}

\subsubsection{Processus de fabrication}

Définir un cheminement menant à la reproductibilité d’un document.

La plupart du temps :
\begin{itmz}
\item{extractions d’éléments depuis des documents sources}
\item{préparations ou conversions d’éléments à intégrer}
\item{compilation du document avec intégration de ressources}
\item{assemblage final avec d’autres documents si besoin}
\item{signature du document, si besoin d’authentification}
\end{itmz}

%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
\hr
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

\subsection{Automatisation}

\subsubsection{Fichiers de fabrication}

Make

\subsubsection{Scripts d’assemblage}

BASH, Python.

\subsubsection{Scripts de synchronisation}

OpenSSH + Rsync.

%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
\hr
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

\subsection{Manipulation}

De multiples étapes peuvent intervenir dans la reproduction d’un document :

\subsubsection{Découpe de documents}

Extraction de certaines pages d’un document source déjà existant.

PDFTK.

\subsubsection{Extraction d’éléments}

Récupération d’une ou plusieurs images spécifiques d’un autre document.

Poppler, GhostScript.

\subsubsection{Rotation d’éléments}

Ajustement de l’orientation de pages ou images disponibles.

PDFTK, ImageMagick.

\subsubsection{Compression d’images}

Réduction du volume de données occupé par des images.

ImageMagick.

\subsubsection{Résolution d’impression}

Modification de la taille d’images par rapport au gabarit du document.

ImageMagick.

\subsubsection{Assemblage de documents}

PDFTK.

\pagebreak
