\chapter{Développements futurs}\label{cha-devel-futurs}

\section{Pour la prochaine version}
\label{sec-pour-la-prochaine}

% \subsection{Classe}
%
% \begin{enumerate}
%   \item S'assurer que les termes anglais choisis pour les noms de
%   commandes sont judicieux.
%   \item Mettre le bon \docAuxCommand*{CheckSum}.
% \end{enumerate}

\subsection{Documentation de la classe}
\label{sec-documentation-de-la}

\begin{enumerate}
\item Documenter les spécimens et canevas.
\item Si la documentation est imprimée, les commandes et environnements sont peu
  lisibles dans les boîtes de warnings.
  % \item Revoir les instructions d'installation de la classe et de
  % production de sa documentation.
\item Prévoir une version imprimable.
\end{enumerate}

\section{Pour les versions ultérieures}
\label{sec-pour-les-versions}

\subsection{Classe}
\label{sec-classe-ult}

\begin{enumerate}
\item Vérifier que toutes les macros (publiques et privées) sont en anglais.
\item Factoriser, nettoyer et documenter correctement le code.
\item Homogénéiser les styles de page en parties \enquote{mainmatter} et
  \enquote{appendix}.
  % (voir s'il n'y a pas mieux que le hack actuel pour corriger l'absence
  % d'espace entre le numéro et le titre du chapitre en partie
  % \enquote{appendix})
\item Remplacer \refCom{coinstitute}, et peut-être aussi \refCom{company}, par des
  occurrences multiples de \refCom{institute}, distinguables par l'ordre de saisie
  et/ou par des  options.
% \item Faire des pseudo-chapitres de la partie liminaire (\refCom{acknowledgements},
%   \refCom{caution}, \refCom{frenchabstract}, \refCom{foreword}, \refCom{preface}) des objets analogues
%   à \refEnv{abstract} (c-à-d des environnements pour les préparer et des commandes
%   \docAuxCommand*{make...} pour les produire).
% \item Finir d'implémenter et documenter \docAuxKey*{affiliationsecondary}
% et assimilés.
\item Fournir une option pour les polices.
\item Faire figurer la discipline sur la 4\ieme{} de couverture.
\item Permettre :
  \begin{enumerate}
  \item de choisir l'ordre des éléments de la page de titre ;
  \item de choisir l'ordre dans les lignes et dans les colonnes du
    tableau des membres du jury.
  \end{enumerate}
  Plus généralement, fournir une option de classe (par exemple
  \docAuxKey*{style}) qui permette, à partir des commandes
  \docAuxCommand*{author}, \docAuxCommand*{title}, ...,
  \docAuxCommand*{supervisor}, \docAuxCommand*{examiner}, etc. de la \yatCl{},
  d'obtenir une page de couverture adaptée à telle ou telle université (ou
  \gls{comue}), rien qu'en ajoutant une option de classe telle que
  \docAuxKey*{style}|=|\docValue*{lille-1}. Pour ce faire, documenter la
  production des pages de titres et les macros publiques
  (\docAuxCommand*{print...}) qui permettent de faire apparaître les éléments
  qui les constituent ; ainsi, des contributeurs pourront eux-mêmes coder la
  chose !
\item Augmenter le nombre de métadonnées du \File{.pdf} (au moyen du
  \Package+{hyperxmp} ?)
\item Fournir une commande \docAuxCommand*{includeall} permettant de
  neutraliser les effets de la commande \docAuxCommand*{includeonly}.
\item Fournir une commande \docAuxCommand*{aside} pour les incises telles que
  \aside{celle-ci} ou \aside*{celle-là}.
\item Faire écrire les \foreignquote{english}{warnings} propres à la \yatCl{}
  dans un fichier auxiliaire (disons \file{.yad}) lu avant le \File{.aux} de
  sorte que ceux-ci soient les premiers à figurer dans le fichier de
  \foreignquote{english}{log}. Faire alors usage du \Package*+{rerunfilecheck}
  pour s'assurer que le \File{.yad} est à jour.
  % \item Répartir les \docAuxKey*{moretexcs} et \docAuxKey*{morekeywords}
  % du \File{lstlang0.sty} selon leurs packages ou classes.
\item Faire en sorte que, optionnellement, il soit possible de centrer
  verticalement le titre (en fait la boîte le contenant) dans les pages de
  titre.
\item Fournir une commande \docAuxCommand{newcorporation} dont la définition soit la
  suivante.
\begin{docCommand}{newcorporation}{\marg{corps}\marg{en français}\marg{en anglais}}
  \indexdef{expression!redéfinition}%
  Cette commande permet de redéfinir une nouvelle corporation \meta{en français}
  et \meta{en anglais} pouvant être utilisée comme nouvelle option des
  directeur(s) de thèse et membres du jury.
\end{docCommand}

Un exemple d'utilisation serait alors :
\begin{dbexample}{Nouvelle corporation}{doctor-bis}
  \indexex{corporation!non prédéfinie}%
  Si on souhaite spécifier que certains membres du jury sont docteurs, il suffit
  de définir \aside{une seule fois} la corporation (par exemple) |doctor| :
\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\newcorporation{doctor}{docteur}{Doctor}
\end{preamblecode}
  pour pouvoir ensuite l'utiliser \aside{autant de fois que souhaité}, par
  exemple ainsi :
\begin{bodycode}
\examiner[doctor]{Joseph}{Fourier}
\examiner[doctor]{Paul}{Verlaine}
\end{bodycode}
\end{dbexample}

% \item Rendre personnalisables les différents \enquote{output} en proposant
%   diverses options.
\end{enumerate}

\subsection{Documentation de la classe}
\label{sec-documentation-de-la-ult}

\begin{enumerate}
\item Écrire un \foreignquote{english}{Quick tour}.
\item Écrire un \foreignquote{english}{How-To} :
  \begin{enumerate}
  \item pour les doctorants qui commencent leur rédaction sous la \yatCl{} ;
  \item pour les doctorants qui migrent d'une autre classe vers la \yatCl{} ;
  \item pour le passage de la version par défaut (\docValue*{inprogress}) à la
    version finale (\docValue*{final}).
  \end{enumerate}
  Pour les deux derniers, fournir un lien vers le chapitre ou la section qui
  traite des éléments \enquote{obligatoires}.
\item Indiquer la présence du \File{latexmkrc} pour les spécimen et canevas, et
  expliquer l'usage de \program{latexmk} dans les \enquote{trucs et astuces}.
% \item Utiliser le \Package{tcolorbox} pour s'affranchir des raccourcis
%   %
%   \lstDeleteShortInline×%
%   %
%   \lstinline|×|
%   %
%   \lstMakeShortInline[style=dbtex]×%
%   %
%   et ×÷× ainsi pouvoir compiler la documentation avec \program{pdflatex} et non
%   plus \program{xelatex} (il faudra alors renoncer au \Package*{fontawesome}
%   qui fournit l'icône en forme de canevas).
\item Prévoir un \File{.el} (pour \program{Emacs+AUCTeX}) et voir le format
  pour \program{TeXworks}.
\item Indiquer comment obtenir un nom de fichier \glsxtrshort{pdf} différent de
  |\jobname|, par exemple pour le fichier à imprimer :
  \lstset{escapechar=}
\begin{lstlisting}
pdflatex -jobname=these_a_imprimer "\PassOptionsToClass{output=paper}{yathesis}\input{these}"
\end{lstlisting}
  \lstset{escapechar="}%
Évoquer éventuellement les \enquote{makefile}.
\end{enumerate}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../yathesis-fr"
%%% End:
