2020-05-01 01:50:59 +02:00
|
|
|
\section{Moyens}
|
2020-05-01 23:21:27 +02:00
|
|
|
|
2020-05-02 20:37:42 +02:00
|
|
|
L’accent sera ici mis sur l’utilisation de logiciels libres
|
|
|
|
et de l’approche \gls{wysiwym} pour améliorer la fiabilité de la production.
|
2020-05-02 20:20:37 +02:00
|
|
|
|
2020-05-01 23:56:33 +02:00
|
|
|
Choix d’outils pour l’implémentation de trois grandes phases :
|
|
|
|
|
|
|
|
\begin{itmz}
|
|
|
|
\item{mettre en place des opérations clés incontournables}
|
2020-05-02 21:31:03 +02:00
|
|
|
\item{automatiser l’exécution de ces tâches maîtresses}
|
2020-05-02 22:07:09 +02:00
|
|
|
\item{étendre le spectre de toutes les tâches automatisables}
|
2020-05-01 23:56:33 +02:00
|
|
|
\end{itmz}
|
|
|
|
|
2020-05-01 23:21:27 +02:00
|
|
|
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
|
|
|
\hr
|
2020-05-01 02:24:38 +02:00
|
|
|
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
2020-05-01 23:21:27 +02:00
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
\subsection{Rationalisation}
|
2020-05-01 01:50:59 +02:00
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
Au moins deux piliers sont indispensables :
|
|
|
|
|
2020-05-02 20:37:42 +02:00
|
|
|
\subsubsection{Gestion de configuration distribuée}
|
2020-05-01 05:41:39 +02:00
|
|
|
|
2020-05-02 20:37:42 +02:00
|
|
|
Utiliser un outil permettant à la fois de :
|
2020-05-01 05:41:39 +02:00
|
|
|
\begin{itmz}
|
2020-05-02 21:31:03 +02:00
|
|
|
\item{garder une trace de toutes les tâches prévues et réalisées}
|
2020-05-01 05:41:39 +02:00
|
|
|
\item{sauvegarder des modifications partielles de document en tant que telles}
|
2020-05-02 20:37:42 +02:00
|
|
|
\item{bénéficier d’un contrôle d’intégrité automatique de ces sauvegardes}
|
2020-05-01 05:41:39 +02:00
|
|
|
\item{travailler séparément sur différents contextes de modifications}
|
2020-05-02 20:37:42 +02:00
|
|
|
\item{intégrer des modifications provenant de divers collaborateurs}
|
|
|
|
\item{répliquer ces sauvegardes sur plusieurs serveurs pour plus de disponibilité}
|
2020-05-01 05:41:39 +02:00
|
|
|
\end{itmz}
|
2020-05-02 20:49:22 +02:00
|
|
|
Les plus connus étant :
|
2020-05-02 20:55:16 +02:00
|
|
|
Git \cite{git}, Mercurial \cite{hg}, Fossil \cite{fossil}, Bazaar \cite{bazaar}.
|
2020-05-01 05:41:39 +02:00
|
|
|
|
2020-05-02 22:01:16 +02:00
|
|
|
\pagebreak
|
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
\subsubsection{Processus de fabrication}
|
|
|
|
|
|
|
|
Définir un cheminement menant à la reproductibilité d’un document.
|
|
|
|
|
2020-05-02 00:16:35 +02:00
|
|
|
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}
|
2020-05-02 03:46:26 +02:00
|
|
|
\item{assemblage final avec d’autres documents si besoin}
|
|
|
|
\item{signature du document, si besoin d’authentification}
|
2020-05-02 21:31:03 +02:00
|
|
|
\item{déploiement du document final vers des hébergements}
|
2020-05-02 00:16:35 +02:00
|
|
|
\end{itmz}
|
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
2020-05-01 23:21:27 +02:00
|
|
|
\hr
|
|
|
|
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
|
|
|
|
2020-05-01 19:47:24 +02:00
|
|
|
\subsection{Automatisation}
|
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
Il s’agit ici d’implémenter et orchestrer le processus de fabrication défini.
|
|
|
|
|
|
|
|
Deux approches sont possibles :
|
|
|
|
|
2020-05-01 19:47:24 +02:00
|
|
|
\subsubsection{Fichiers de fabrication}
|
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
Fichiers textuels très simples, se contentant de lister les différentes étapes,
|
|
|
|
ainsi que toutes les commandes associées à chacune des étapes recensées.
|
|
|
|
|
|
|
|
Exemple : Make \cite{make}.
|
2020-05-01 19:47:24 +02:00
|
|
|
|
|
|
|
\subsubsection{Scripts d’assemblage}
|
|
|
|
|
2020-05-02 22:01:16 +02:00
|
|
|
Fichiers textuels plus ou moins complexes, laissant la liberté à l’auteur
|
|
|
|
de programmer toutes les opérations qu’il souhaite autour des étapes.
|
2020-05-01 19:47:24 +02:00
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
Le plus courants : \gls{bash} \cite{bash}, Python \cite{py}.
|
2020-05-01 23:21:27 +02:00
|
|
|
|
2020-05-02 22:01:16 +02:00
|
|
|
\pagebreak
|
2020-05-01 23:21:27 +02:00
|
|
|
|
2020-05-02 22:07:09 +02:00
|
|
|
\subsection{Opérations automatisables}
|
2020-05-01 01:50:59 +02:00
|
|
|
|
2020-05-02 22:07:09 +02:00
|
|
|
De multiples étapes peuvent intervenir dans la production d’un document :
|
2020-05-01 05:41:39 +02:00
|
|
|
|
2020-05-02 22:07:09 +02:00
|
|
|
\subsubsection{Conversion de documents}
|
2020-05-02 20:07:09 +02:00
|
|
|
|
2020-05-02 22:07:09 +02:00
|
|
|
ImageMagick, PanDoc \cite{pandoc}.
|
2020-05-02 20:07:09 +02:00
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\subsubsection{Découpe de documents}
|
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
Extraction de certaines pages d’un document source déjà existant.
|
|
|
|
|
2020-05-02 20:20:37 +02:00
|
|
|
\gls{pdftk}.
|
2020-05-01 15:43:42 +02:00
|
|
|
|
|
|
|
\subsubsection{Extraction d’éléments}
|
2020-05-01 01:50:59 +02:00
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
Récupération d’une ou plusieurs images spécifiques d’un autre document.
|
|
|
|
|
2020-05-01 15:43:42 +02:00
|
|
|
Poppler, GhostScript.
|
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\subsubsection{Rotation d’éléments}
|
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
Ajustement de l’orientation de pages ou images disponibles.
|
|
|
|
|
2020-05-02 20:20:37 +02:00
|
|
|
\gls{pdftk}, ImageMagick.
|
2020-05-01 15:43:42 +02:00
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\subsubsection{Compression d’images}
|
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
Réduction du volume de données occupé par des images.
|
|
|
|
|
2020-05-01 15:43:42 +02:00
|
|
|
ImageMagick.
|
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\subsubsection{Résolution d’impression}
|
|
|
|
|
2020-05-01 05:41:39 +02:00
|
|
|
Modification de la taille d’images par rapport au gabarit du document.
|
|
|
|
|
2020-05-01 15:43:42 +02:00
|
|
|
ImageMagick.
|
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
\subsubsection{Compilation}
|
|
|
|
|
|
|
|
…
|
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\subsubsection{Assemblage de documents}
|
2020-05-01 15:43:42 +02:00
|
|
|
|
2020-05-02 20:20:37 +02:00
|
|
|
\gls{pdftk}.
|
2020-05-01 15:43:42 +02:00
|
|
|
|
2020-05-02 19:58:44 +02:00
|
|
|
\subsubsection{Signature numérique}
|
|
|
|
|
|
|
|
Pouvoir vérifier l’authenticité du document, quand consulté par des personnes.
|
|
|
|
|
2020-05-02 21:56:54 +02:00
|
|
|
Le standard : \gls{gpg} \cite{gpg}, une implémentation libre
|
|
|
|
du standard ouvert \gls{pgp} \cite{pgp}.
|
2020-05-02 19:58:44 +02:00
|
|
|
|
|
|
|
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}
|
|
|
|
|
2020-05-02 20:37:42 +02:00
|
|
|
\subsubsection{Réplication de contenus}
|
|
|
|
|
|
|
|
Répliquer régulièrement à plusieurs endroits, pour une disponibilité constante.
|
|
|
|
|
2020-05-02 21:31:03 +02:00
|
|
|
OpenSSH + Rsync.
|
2020-05-02 20:37:42 +02:00
|
|
|
|
2020-05-01 01:50:59 +02:00
|
|
|
\pagebreak
|