Changement divers

This commit is contained in:
Guyot 2015-12-31 00:04:42 +01:00
parent 500b8e3cb7
commit d3b162af8f
13 changed files with 566 additions and 723 deletions

213
TM.sty
View File

@ -19,10 +19,18 @@
%\geometry{verbose,a4paper,lmargin=2cm,rmargin=2cm} % règle les marges de la page
% Structure du document
\usepackage{emptypage}
\usepackage{nextpage} % Permet \cleartooddpage, \cleartoevenpage et \cleartooddpage[\thispagestyle{empty}]
\usepackage[Lenny]{fncychap} % Titres de chapitres avec un filet
\usepackage{fancybox} % Styles de filets de boites
%\usepackage{fancyheadings} % Entêtes et pieds de page
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\bfseries \thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
%\usepackage{minitoc} % Minitable des matières des chapitres
\usepackage{layout} % Redéfinition des caractéristiques de la page
@ -46,10 +54,29 @@
% Listes
\usepackage{paralist} % Divers styles de listes
\usepackage{textcase} % Mettre en majuscule ou minuscule sans bugs
% Listings
\usepackage{listings} % Listings
\usepackage{subfig}
\usepackage{listings} % Listings et sa configuration pour les accents dans le code
%\lstloadlanguages{Python}
%\lstset{language=Python,escapechar=|}
\lstset{literate=
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\EUR}}1 {£}{{\pounds}}1
}
% Subfig
\usepackage{subfig} % Pour faire des sous-figures
% Couleurs
\usepackage{color} % Couleurs
@ -59,20 +86,33 @@
\usepackage{moreverb} % Texte non interprété. Plus complet que verbatim
\usepackage{acronym} % Acronymes
% Notes de bas de page
% Notes de fin de document
\usepackage{endnotes}
% Notes de bas de page
\renewcommand{\thefootnote}{\alph{footnote}} % pour mettre les notes de bas de page en alphabétique
\renewcommand{\enoteheading}{% Redéfinit les entêtes de notes
\chapter{\notesname}% Redéfinit le titre des notes comme chapitre
%\newcommand{\titreheaderendnotes}{\MakeUp­per­case{\notesname}}
%\markboth{NOTES FINALES}{NOTES FINALES}%
}
% Divers
\usepackage{ifthen} % Tests
\usepackage{ifdraft} % Tests sur la présence de draft dans le documentclass
\usepackage{calc} % Calculs avec latex
%\usepackage{eurosym} % Symbole euro
\usepackage{comment} % Commentaires sur plusieurs lignes
\usepackage{shapepar} % Justification du texte selon une forme
\usepackage{lipsum}
\usepackage{makeidx} % pour permettre de construire un index
\makeindex
\makeindex
% Reste à faire
\usepackage[obeyDraft]{todonotes}
%--------------Gestion des langues------------------------------------------------------
\newcommand{\choixdelalangue}{
\ifthenelse{\equal{\lalangue}{francais}}{
\selectlanguage{frenchb} % Gestion de la typographie française
@ -114,17 +154,51 @@
\newcommand{\titlepagefooter}{
\ifthenelse{\equal{\loption}{Atelier interdisciplinaire} \or \equal{\loption}{Interdisciplinary workshop} \or \equal{\loption}{Interdisziplinärer Arbeitsgruppe}}{\newcommand{\oc}{\loption}}{\newcommand{\oc}{\loption{} \textsc{\domaine}}}
\begin{tabular}{lcr} \hline
\multirow{5}{*}{\includegraphics[height=1cm]{logo_lbc}} & & \multirow{5}{*}{\includegraphics[height=1cm]{ne_ch}} \\
\multirow{5}{*}{\includegraphics[height=1cm]{logo1}} & & \multirow{5}{*}{\includegraphics[height=1cm]{logo2}} \\
& \oc & \\
& \ecole & \\
& \adressedelecole & \\
& \ifthenelse{\isundefined{\ecole}}
{\ifthenelse{\equal{\lalangue}{english}}
{\newcommand{\ecole}{Blaise-Cendrars high school}\ecole}
{\ifthenelse{\equal{\lalangue}{deutch}}
{\newcommand{\ecole}{Gymnasium Blaise Cendrars}\ecole}
{\newcommand{\ecole}{Lycée Blaise-Cendrars}\ecole}
}
}{\ecole} & \\
& \ifthenelse{\isundefined{\adressedelecole}}
{\ifthenelse{\equal{\lalangue}{english}}
{\newcommand{\adressedelecole}{La Chaux-de-Fonds (Switzerland)}%
\adressedelecole}
{\ifthenelse{\equal{\lalangue}{deutch}}
{\newcommand{\adressedelecole}{La Chaux-de-Fonds (Schweiz)}%
\adressedelecole}
{\newcommand{\adressedelecole}{La Chaux-de-Fonds (Suisse)}%
\adressedelecole}
}
}{\adressedelecole} & \\
& & \\
\end{tabular}
}
%-------------------Les différentes pages---------------------------------------------------------
% Définit le style des entête et pieds de page.
\fancypagestyle{videavecpage}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
\fancypagestyle{videsanspage}{%
\fancyhead{}
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
}
\fancypagestyle{laposteface}{%
\fancyhf{}
\renewcommand{\chaptermark}[1]{\markboth{\uppercase{##1}}{}}
\fancyhead[RE,LO,LE,RO]{\leftmark}
\renewcommand{\headrulewidth}{0pt}
}
\pagestyle{fancy}
% Retire le filet sous l'entête
\renewcommand{\headrulewidth}{0pt}
@ -134,33 +208,36 @@
% Page de pensée ou de citations
\newcommand{\pensee}{
\ifthenelse{\equal{\unepensee}{Y}}{\include{pagesspeciales/citations}}{}
\ifthenelse{\isundefined{\unepensee}}{\include{pagesspeciales/citations}}
}
% Page de préambule/dédicace/remerciements
\newcommand{\dedicace}{
\ifthenelse{\equal{\unededicace}{Y}}{\include{pagesspeciales/remerciements}}{}
\ifthenelse{\isundefined{\unededicace}}{\include{pagesspeciales/remerciements}}
}
% Page de résumé
\newcommand{\resume}{
\ifthenelse{\equal{\unresume}{Y}}{\include{pagesspeciales/resume}}{}
\ifthenelse{\isundefined{\unresume}}{\include{pagesspeciales/resume}}
}
% Liste des figures
\newcommand{\listefig}{
\ifthenelse{\equal{\unelistefig}{Y}}{
\ifthenelse{\equal{\lalangue}{francais}}{
\renewcommand{\listfigurename}{\titrelistedesfigures} % Nom original = Table des figures
\listoffigures % liste des figures (fichier .lof)
}{
\listoffigures % liste des figures (fichier .lof)
}
}{}
\ifthenelse{\isundefined{\unelistefig}}{
\ifthenelse{\isundefined{\titrelistedesfigures}}{
\ifthenelse{\equal{\lalangue}{francais}}{
\renewcommand{\listfigurename}{Liste des figures}}{}
}{
\renewcommand{\listfigurename}{\titrelistedesfigures}
}
\newpage
\addcontentsline{toc}{chapter}{\listfigurename}
\listoffigures % liste des figures (fichier .lof)
}
}
% Commande de crédit photographique
\newcommand{\listcreditsname}{Crédits photographiques}
\newcommand{\listcreditsname}{\textnormal{Crédits photographiques}}
\newlistof{credits}{exp}{\listcreditsname}
\newcommand{\credit}[1]{%
\refstepcounter{credits}
@ -169,59 +246,87 @@
% Crédits photographiques
\newcommand{\listecredits}{
\ifthenelse{\equal{\unelistecredits}{Y}}{
\newpage
\ifthenelse{\isundefined{\unelistecredits}}{
\listofcredits % liste des crédits photographiques
\newpage
}{}
\cleartooddpage
}
}
% Liste des tables
\newcommand{\listetbl}{
\ifthenelse{\equal{\unelistetbl}{Y}}{
%\renewcommand{\listtablename}{Liste des tables} % Nom original = Liste des tableaux
\ifthenelse{\isundefined{\unelistetbl}}{
\ifthenelse{\isundefined{\titrelistedestables}}{
}
{\renewcommand{\listtablename}{\titrelistedestables}}
\newpage
\addcontentsline{toc}{chapter}{\listtablename}
\listoftables % liste des tables (fichier .lot)
}{}
}
}
% Liste des listings
\newcommand{\listelst}{
\ifthenelse{\equal{\unelistelst}{Y}}{
%\renewcommand{\lstlistlistingname}{Liste des codes sources} % Nom original = Listings
\ifthenelse{\isundefined{\unelistelst}}{
\ifthenelse{\isundefined{\titrelistedescodes}}{
\ifthenelse{\equal{\lalangue}{english}}{
\renewcommand{\lstlistlistingname}{Listings}}
{\ifthenelse{\equal{\lalangue}{deutch}}{
\renewcommand{\lstlistlistingname}{Liste der Quellcodes}}
{\renewcommand{\lstlistlistingname}{Liste des codes sources}}
}
}{\renewcommand{\lstlistlistingname}{\titrelistedescodes}}
\newpage
\addcontentsline{toc}{chapter}{\lstlistlistingname}
\lstlistoflistings % liste des listings (fichier .lol)
}{}
}
}
% Liste des acronymes
\newcommand{\acronyme}{
\ifthenelse{\equal{\unacronyme}{Y}}{\include{pagesspeciales/acronymes}}{}
\ifthenelse{\isundefined{\unacronyme}}{\include{pagesspeciales/acronymes}}{}
}
% Page de licence
\newcommand{\licence}{
\ifthenelse{\equal{\unelicence}{Y}}{\include{pagesspeciales/licence}}{}
\ifthenelse{\isundefined{\unelicence}}{\include{pagesspeciales/licence}}{}
}
% Page de site officiel
\newcommand{\site}{
\ifthenelse{\equal{\unsite}{Y}}{\include{pagesspeciales/website}}{}
\ifthenelse{\isundefined{\unsite}}{\include{pagesspeciales/website}}{}
}
% Page de cdrom officiel
\newcommand{\cdrom}{
\ifthenelse{\equal{\uncdrom}{Y}}{\include{pagesspeciales/cdrom}}{}
\ifthenelse{\isundefined{\uncdrom}}{\include{pagesspeciales/cdrom}}{}
}
% Pages d'index
% Page de note de fin
\newcommand{\notesdefin}{
\ifthenelse{\isundefined{\lesnotesdefin}}{
\ifthenelse{\isundefined{\titrelistedesnotesdefin}}{
\ifthenelse{\equal{\lalangue}{english}}{
\renewcommand\notesname{Endnotes}
}{\ifthenelse{\equal{\lalangue}{deutch}}{
\renewcommand\notesname{Endnoten}
}{\renewcommand\notesname{Notes finales}}
}
}{\renewcommand\notesname{\titrelistedesnotesdefin}}
\theendnotes
\cleartooddpage
}
}
% Page d'index
\newcommand{\lindex}{
\ifthenelse{\equal{\unindex}{Y}}{\printindex}{}
\ifthenelse{\isundefined{\unindex}}{
\addcontentsline{toc}{chapter}{\indexname}
\printindex}{}
}
% Pages d'annexes
\newcommand{\annexes}{
\ifthenelse{\equal{\lesannexes}{Y}}{\touteslesannexes}{}
\ifthenelse{\isundefined{\lesannexes}}{\touteslesannexes}
}
%------------------Les chapitres-------------------------------------------------------
@ -258,13 +363,15 @@
% Redéfinition de l'environnement de citations
\newcounter{Citctr} \newsavebox{\Citname}
\newenvironment{Citation}[1]
{\sbox\Citname{\emph{#1}}%
{%\ifthenelse{\equal{#1}{}}{\typein{A reference is missing !}}%
\sbox\Citname{\emph{#1}}%
\refstepcounter{Citctr}\begin{description}
\item[Citation \arabic{Citctr}]}
{\hspace*{\fill}\nolinebreak[1]%
\quad\hspace*{\fill}%
\finalhyphendemerits=0
\usebox{\Citname}\end{description}}
\usebox{\Citname}\end{description}
}
%------------------Commandes diverses------------------------------------------
% Redéfinition de la commande \url
@ -295,13 +402,30 @@
\newcommand{\online}{[online]}
% Impression d'un filigrane de version provisoire.
% Prints your review date and 'Draft Version' (From Josullvn, CS, CMU)
% Seems no to work properly on Linux. On Windows OK !
% Ai retiré la date, car les accents étaient mal traduits malgré babel.
% Mais la date provisoire est définie sur la page de titre.
\newcommand{\reviewtimetoday}[2]{\special{!userdict begin
/bop-hook{gsave 20 710 translate 45 rotate 0.8 setgray
/Times-Roman findfont 12 scalefont setfont 0 0 moveto (#1) show
/Times-Roman findfont 18 scalefont setfont 0 0 moveto () show
0 -12 moveto (#2) show grestore}def end}}
\newcommand{\draftoufinal}{
\ifdraft{
\ifthenelse{\equal{\lalangue}{english}}{
\reviewtimetoday{\today}{* Draft Version *}
}{
\ifthenelse{\equal{\lalangue}{deutch}}{
\reviewtimetoday{\today}{* Draft *}
}{
\reviewtimetoday{\today}{* Version provisoire *}
}
}
}
}
% Entête et pied de page
\renewcommand{\chaptermark}[1]{ % pour avoir Chapter 1. Introduction
\markboth{\chaptername\
@ -362,20 +486,13 @@
%----------------Les références-----------------------------------------------------------------
% Commande pour référencer les figures
% Je préfère sans le mot 'figure' automatiquement devant car on peut devoir le mettre au pluriel
\newcommand{\afigurelabel}{\figurename}
\newcommand{\figref}[1]{\ref{#1}}
%\newcommand{\figref}[1]{\afigurelabel~\ref{#1}}
% Commande pour référencer les tables
\newcommand{\atablelabel}{\tablename}
\newcommand{\tableref}[1]{\ref{#1}}
%\newcommand{\tableref}[1]{\atablelabel~\ref{#1}}
%\newcommand{\tableref}[1]{\tablename~\ref{#1}}
% Commande pour référencer les codes
\newcommand{\alistinglabel}{\lstlistingname}
\newcommand{\listingref}[1]{\ref{#1}}
%\newcommand{\listingref}[1]{\alistinglabel~\ref{#1}}
%----------------Le code en ligne-------------------------------------------------------------
% On peut utiliser cette commande pour le code en ligne

View File

@ -1,254 +1,37 @@
% Attention, ce chapitre sera le chapitre 2,
% contrairement à ce que son nom de fichier pourrait faire penser !
\chapter{Introduction}
\chapter{Configuration} \label{chapter:configuration}
\section{Motivations et Objectifs}
\subsection{Motivations}
Désormais l'utilisation de \LaTeX{} au lycée fait partie des connaissances que doivent acquérir les élèves qui on choisi des options techniques. Si de telles connaissances sont absolument nécessaire pour ces élèves, en considérant le résultat fourni, d'autres élèves font régulièrement la demande pour pouvoir utiliser \LaTeX{} pour leur travail de fin d'étude, nommé travail de maturité en Suisse. Or, leur familiarité avec \LaTeX{} est parfois trop peu importante pour que ce travail puisse se faire sans un véritable soutient des enseignants.
Ce chapitre présente essentiellement le fichier \src{config.tex} qui permet la configuration générale du travail de maturité.
Force est de constater que la majorité des enseignants en est incapable. Et ce n'est pas dû à \LaTeX{} uniquement. Avec d'autres traitement de texte plus connus, c'est souvent la même chose.
\section{Config.tex}
\subsection{Objectifs}
Une solution à ce problème est constitué par le présent travail. Il s'agit d'un modèle de travail de maturité, simplement configurable, permettant de mettre à disposition des élèves ayant des connaissances de base en \LaTeX{} tous les outils nécessaires pour leur travail.
Au \squote{c\oe ur} de la configuration du travail de maturité se trouvent une série de questions posées au rédacteur qui permettent de mettre à sa disposition les différents éléments dont il va avoir besoin. Ces questions se trouvent regroupées dans le fichier \apath{config.tex} sous différentes sections.
\section{Organisation}
Pour obtenir la plus grande simplicité possible, ce modèle a été conçu autour de trois fichiers.
\begin{enumerate}
\item main.tex
\item TM.sty
\item config.tex
\end{enumerate}
Le premier est simplement destiné à la compilation. Il contient la structure générale du travail. \emph{Il ne doit pas être modifié}.
\begin{description}
\item[La page de titre] S'y trouvent définis les titre et sous-titre du travail, le type de travail, l'auteur, la date et le mentor.
\item[Le pied de page] S'y trouvent définis le domaine, c'est-à-dire l'option spécifique ou autre, du travail ainsi que la langue du pied de page.
\item[Citations, remerciements, acronymes, licence, site officiel, cdrom, index] On peut choisir ici de mettre une page contenant une pensée ou citation, une page contenant un préambule, une dédicace, des remerciements, une page contenant un résumé, une page d'acronymes, une page présentant la licence du travail, une page présentant le site associé au travail, une autre le cdrom associé et enfin une page d'index.
\item[Chapitres] On définit ici le nombre de chapitres qu'on désire. Des fichiers chapter1.tex, chapter2.tex \dots{} chapter9 sont déjà présents dans le répertoire associé \apath{chapters}. Il suffit alors de remplir ceux dont on a besoin. Si on veut plus de dix chapitres, il faut simplement copier l'un d'entre eux et en rajouter le bon nombre sous la forme chapter10.tex, chapter11.tex \dots{} et d'en définir le nombre correctement.
\item[Listes des figures, tables et listings] On définit ici la présence d'une page contenant la lise des figures et/ou la liste des tables et/ou la liste des listings. Pour cela, il faut commenter ou décommenter (à l'aide du \%) la ligne correspondant au Yes ou No (Y ou N respectivement).
\item[Figures] On définit ici le chemin par défaut vers le répertoire des figures. Le point correspond au répertoire ou se trouve le fichier \apath{main.tex}.
\item[Insertion de code : listings] Le package listings permet d'insérer du code dans latex. Plusieurs langages sont disponibles, par exemple HTML et PHP. Mais seul latex est appelé par défaut. On peut charger d'autres languages pour les listings selon le modèle de la ligne suivante :
\lstinline!\lstloadlanguages{HTML,PHP,TeX}!.
\item[Version provisoire] Si vous travaillez avec une version provisoire, cette commande imprime un filigrane en haut à gauche de chaque page. Commentez la pour la version finale.
\item[Le texte] Se règle ici l'indentation de la première ligne de chaque paragraphe. Différentes possiblilités sont présentes et il suffit d'en choisir une en la décommentant.
\item[Un index] Il n'est pas nécessaire de réaliser un index. Par défaut, il n'y en a pas. Décommentez cette ligne si vous en voulez un. Attention, pour construire le fichier d'index idx, il doit être compilé avec makeindex en ligne de commande.
\end{description}
Le second règle tous les détails techniques. Il se compose essentiellement de code \LaTeX{} complexe et \emph{ne doit pas être modifié}.
\begin{comment}
\listingref{listing:manifeste}.
Le dernier est le fichier de configuration du travail. C'est lui qui donne accès au divers outils mis à disposition, tels que titre, préface, nombre de chapitres, postface, index, etc.
\begin{lstlisting}[float,caption={Le manifeste : manifest.manifest},label={listing:manifeste}]
CACHE MANIFEST
\section{Documentation}
Le présent texte constitue à la fois la documentation concernant le modèle de travail de maturité et le modèle lui-même. Il contient la plupart des aspects que peut revêtir un travail de maturité et il donne un exemple de texte de travail de maturité à modifier. Une version PDF de cette documentation est présente dans le dossier \apath{documentation} du zip contenant touts les fichiers du modèle.
# Version 10.4 (*@ \label{codeline:version} @*)
\section{Rédaction}
La rédaction du travail de maturité peut donc être réalisée directement à partir d'une copie de l'ensemble des fichiers du projet regroupés dans l'archive \apath{TM.zip}. Il suffit de la décompresser, de remplir les rubriques du fichier \apath{config.tex} et les différentes pages constituant le travail de maturité comme les chapitres ou les pages annexes. En modifiant progressivement ces fichiers et en compilant le fichier \apath{main.tex} au fur et à mesure, on obtient petit à petit son propre travail de maturité.
# A mettre en cache. Attention, la page index.html est cachee par defaut
# comme le manifest lui-meme.
CACHE: (*@ \label{codeline:cache} @*)
offline.html
css/android.css
css/desktop.css
Remarquons, que plutôt que d'effacer les instructions se trouvant dans les pages qu'on souhaite modifier, il est recommandé en premier lieu de les commenter à l'aide du signe \% ou pour celles se trouvant sur plusieurs lignes d'utiliser l'environnement de commentaire présenté dans le code \listingref{listing:commentlong}.
# A aller chercher sur le net (meme s'il est en cache ?)
NETWORK: (*@ \label{codeline:network} @*)
# Si je decommente la ligne suivante, il refusera le fallback sur offline.html
#ONOFFlineTest.html
js/h5utils.js
De manière générale, il est préférable de commenter les instructions qu'on estime inutiles, de compiler et de voir si des problèmes apparaissent. Si ce n'est pas le cas, on peut alors les effacer définitivement.
# A remplacer si la ressource est dans network et qu'on est hors ligne
FALLBACK: (*@ \label{codeline:fallback} @*)
ONOFFlineTest.html offline/offline.html
online/online.html offline/offline.html
onlineAccueil,js offlineAccueil.js
\end{lstlisting}
Ce fichier est découpé en trois parties : la partie CACHE, ligne \ref{codeline:cache}, la partie NETWORK, ligne \ref{codeline:network} et la partie FALLBACK, ligne \ref{codeline:fallback} du listing \ref{listing:manifeste}.
\subsection{Détection du manifeste}
% This is the correct way to insert a figure
% The 1st argument: the filename (without the extension, the file is located in the figures subfolder)
% The 3rd argument: is the caption
% The 4th argument: the label (for references)
\tmfigureT{barcode}{EAN-8 representation of the number 2402820}{fig:barcode}
% This is the correct way to make reference to a figure:
An EAN-8 representation is show in \figref{fig:barcode}.
\subsection{Les outils d'analyse} \label{subsec:outils_analyse}
Un certains nombre d'outils d'analyse\index{outils d'analyse} sont nécessaire pour suivre l'évolution des caches. Sous Firefox, on peut avoir accès aux caches par le code \ref{listing:cachefirefox}.
\begin{lstlisting}[float,caption={Le cache de Firefox},label={listing:cachefirefox}]
about:cache
\end{lstlisting}
dans la barre d'URL. La figure \figref{fig:about_cache} permet de voir les indications fournies. De plus, une liste des fichiers en cache est disponible, ce qui est très pratique. Sous Chromium\index{Chromium} ou Chrome\index{Chrome}, la commande précédente donne simplement une liste des fichiers en cache, ce qui n'est pas très pratique. Il faut donc passer par les \squote{outils de développement} du menu \squote{outil} qui permettent d'avoir accès aux \squote{Ressources}, notamment le cache d'application. Plus clairement qu'avec Firebug, ces outils de développements proposent alors une liste des fichiers mis en cache d'application.
% This is the correct way to insert a figure
% The 1st argument: the filename (without the extension, the file is located in the figures subfolder)
% The 3rd argument: is the caption
% The 4th argument: the label (for references)
\tmfigureS{about_cache}{Les caches sous Firefox}{fig:about_cache}
Il faut relever un piège avec Firebug\index{Firebug} sous Firefox. En explorant le DOM\index{DOM}, on trouve l'entrée applicationCache. Or, même si le cache d'application contient des fichiers, cette entrée mentionne toujours \verb=0 items in offline cache=. Pour moi, la raison de ce fait reste encore inexpliquée et elle m'a fait perdre beaucoup de temps.
Une autre manière de faire est de suivre les transactions à travers les logs du serveur web. Pour Apache, il se trouvent à l'adresse \apath{/var/log/apache2/access.log}.
Pour voir le fichier, il faut naturellement être en root. On peut alors en voir la fin par la commande \ref{listing:lecturelogs}.
\begin{lstlisting}[float,caption={Lecture des logs},label={listing:lecturelogs}]
tail -f access.log
\end{lstlisting}
\section{Interface graphique} \index{Interface graphique}
L'ergonomie d'une application embarquée doit être très claire. Celle d'un site peut être visuellement plus complexe. Il est donc nécessaire de fournir un maximum de renseignements sur le site et d'épurer, de minimiser voire de supprimer ceux-ci dans la version embarquée.
Pour l'instant, tout est très simple. Aucune recherche particulière n'a été faite pour obtenir une bonne qualité graphique de l'interface. L'idée est de laisser à la bibliothèque \squote{Jquery mobile}\index{Jquery mobile} le soin de réaliser la mise en page. Cela fonctionne en partie. Deux problèmes persistent cependant. Le premier est une certaine lenteur lors des effets graphiques tels que les changement de page. L'autre est la désactivation des feuilles de style\index{feuille de style} de \squote{Jquery mobile} sur la page de la carte de vocabulaire. Je pense pouvoir trouver dans un délai raisonnable une solution à chacun de ces problèmes. Mais, je n'ai pas encore eu le temps de le faire. C'est pourquoi j'ai désactivé \squote{Jquery mobile}.
Évidemment, l'utilisation de \squote{Jquery mobile} serait un avantage du point de vue de la prise en charge d'une multitude de plateformes sans qu'il soit nécessaire d'effectuer moi-même des test pour chacune d'elles. C'est pourquoi je vais investir encore du temps pour tenter une bonne intégration. Mais, au vu des ralentissements, un développement graphique réalisé par mes soins ou à l'aide d'élèves web-designers reste présent dans mon esprit.
Je ne mettrai donc pas l'accent ici sur la conception purement graphique de Turn comme la recherche d'une identité graphique\index{identité graphique}, d'une palette de couleurs adaptée (les tons sombres sont plus adéquats sur les smartphones) ou un choix de types de transitions entre les pages. Je vais simplement les présenter et en indiquant leurs besoins en terme d'éléments fonctionnels en tentant une première approche des difficultés liées à leur utilisation sur les téléphones.
\subsection{Analyse des besoins}
Divers éléments sont nécessaires dans tous les cas.
\smallskip
Actuellement, on trouve sur la page d'accueil\index{page d'accueil} (voir figure \ref{fig:pageindex}, page \pageref{fig:pageindex}) un petit texte expliquant ce qu'on peut faire en mode connecté ou déconnecté. Puis, se trouve un simple lien vers la page suivante. Il est nécessaire que ce lien apparaisse sous la forme d'un bouton assez grand pour qu'il soit aisé d'appuyer sur celui-ci avec le doigt sur un smartphone. Aucune indication ne devant être transmise à la page suivante, il n'est pas nécessaire d'avoir un vrai bouton.
\subsubsection{Sur site}
Du côté embarqué, vient ensuite la page d'authentification\index{page d'authentification} (voir figure \ref{fig:pageconnection}, page \pageref{fig:pageconnection}). Très simple, elle nécessite trois champs \verb|input| et un lien de retour sur la page d'accueil.
Les champs font partie d'un formulaire. Le premier permet l'entrée d'un texte, le login\index{login} de l'utilisateur. Le second est de type \verb|password| de manière à ne présenter que des caractères cachés. Le dernier et de type \verb|submit| pour valider le formulaire.
\smallskip
Puis, vient le choix de charger un test déjà enregistré, d'en réaliser un nouveau ou de revenir sur la page d'accueil. Rien de particulier, trois liens suffisent (voir figure \ref{fig:pageonline}, page \pageref{fig:pageonline}).
\smallskip
Du côté du chargement d'un test préenregistré\index{test préenregistré} en ligne, une liste des tests doit apparaître (voir figure \ref{fig:pagetestsEnregistres}, page \pageref{fig:pagetestsEnregistres}). Chaque test est constitué de deux boutons. Le premier pour accéder au test lui-même et le second pour le supprimer. Il s'agit de deux formulaires constitués d'\verb|input| de type \verb|submit|. Mais, il faut relever qu'il a été nécessaire, pour des raisons techniques, d'utiliser un champ caché\index{champ caché}, un \verb|input| de type \verb|hidden|. Nous n'en reparlerons qu'au paragraphe \ref{choix}, puisque aucune mise en forme n'est nécessaire pour lui.
Puis, deux liens permettant d'effectuer un nouveau test et de revenir sur la page d'accueil sont présenté.
\smallskip
Du côté de la réalisation d'un nouveau test\index{nouveau test}, on commence par présenter une liste des répertoires disponibles (voir figure \ref{fig:pagenouveauTest}, page \pageref{fig:pagenouveauTest}). Cela est réalisé par une balise \verb|select| placée à l'intérieur d'un formulaire. Une liste d'\verb|option| est créée ensuite à l'intérieur du \verb|select|. Un \verb|input| de type \verb|submit| permet d'envoyer le choix effectué.
\smallskip
Puis, on présente les choix de la sélection\index{choix de la sélection}, par page ou par chapitre, et du type\index{type} de test, normal ou inverse (voir figure \ref{fig:pagechoixTypeSelection}, page \pageref{fig:pagechoixTypeSelection}). Il s'agit d'un unique formulaire comprenant deux champs dans lesquels se trouvent chaque fois deux \verb|input| de type \verb|radio| et de même nom dans chaque champ, \verb|selection| ou \verb|type| respectivement. Un champ \verb|submit| termine le tout pour envoyer les données.
\smallskip
Vient enfin la sélection\index{sélection} des chapitres ou pages selon le choix (voir figure \ref{fig:pageselection}, page \pageref{fig:pageselection}). Il s'agit d'un formulaire à l'intérieur duquel se trouve une balise \verb|select| remplie par une liste d'\verb|option| correspondant à chaque chapitre ou page. Il faut relever ici le paramètre \verb|multiple="multiple"| qui permet de sélectionner plusieurs chapitres ou pages simultanément. Le tout est toujours finalement terminé par un champ \verb|submit| pour envoyer les données sélectionnées.
\medskip
Enfin, vient la carte de vocabulaire\index{carte de vocabulaire} du mode en ligne\index{mode en ligne} (voir figure \ref{fig:pageTest}, page \pageref{fig:pageTest}). Elle est constituée d'un formulaire à l'intérieur duquel se trouve une balise \verb|div| constituant la carte. A l'intérieur de celle-ci se trouvent trois \verb|input| de type \verb|submit| et de même nom \verb|navig|. Le premier, de valeur \verb|X|, correspond au bouton annuler\index{annuler}. Le second, de valeur \verb|<?php echo $mot?>| contient le mot et, quand on le presse, correspond à l'action de retourner la carte\index{retourner la carte} pour faire voir la traduction\index{traduction}. Enfin, le dernier, de valeur \verb|>>| correspond à un changement de carte\index{changement de carte}, c'est-à-dire à un changement de mot.
Cette structure très simple est suffisante. Seuls la gestion de l'apparence de la carte peut poser quelques problèmes. On verra au paragraphe \ref{css} comment y parvenir sans trop de difficultés.
\subsubsection{Embarqué}
Du côté embarqué\index{embarqué}, on trouve deux pages spécifiques qui correspondent au mode hors ligne\index{mode hors ligne}.
\smallskip
Premièrement, il s'agit de la page de chargement d'un test préenregistré hors ligne (voir figure \ref{fig:pageoffline}, page \pageref{fig:pageoffline}). En raison de l'utilisation de \squote{Javascript}\index{Javascript} pour la gestion des pages hors ligne, celle-ci est très simplement composée d'une balise \verb|div| et d'un lien en retour sur la page d'accueil. A l'intérieur de la balise \verb|div| est inséré dynamiquement par un script \squote{Javascript} deux \verb|input|. Le premier prend une valeur décrivant le vocabulaire mémorisé et réalise sur clic la récupération des mots. Le second prend la valeur \verb|X| et efface le vocabulaire en question.
\smallskip
Secondement, il s'agit de la carte de vocabulaire\index{carte de vocabulaire} du mode hors ligne\index{mode hors ligne}. Son aspect est exactement celui de la carte du mode en ligne (voir figure \ref{fig:pageTest}, page \pageref{fig:pageTest}). Elle est constituée des mêmes éléments, mais les balises d'\verb|input| sont plus simple en raison de l'utilisation de \squote{Javascript}.
\subsection{CSS}\label{css}\index{CSS}
Le projet étant finalement assez simple, seules deux feuilles de style\index{feuille de style} ont été nécessaires. Malgré des redondances entre elles qui auraient pu permettre une fusion en une seule feuille, elles ont été maintenues clairement séparées. En effet, elles correspondent au deux côtés bien distincts du site et de l'embarqué. Pour l'instant beaucoup de choses sont communes, mais à l'avenir cela ne devait plus être le cas, les besoins du site étant très différents de ceux induits par les smartphones\index{smartphone}.
\subsubsection{Détection du matériel}
La détection\index{détection du matériel} du type de terminal\index{type de terminal} utilisé se fait dans l'entête du document HTML. Il s'agit de la balise du code \ref{listing:detectterm}.
\begin{lstlisting}[float,language=HTML,caption={Détection du terminal},label={listing:detectterm}]
<meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1.0,maximum-scale=1.0" />
\end{lstlisting}
La directive \verb|user-scalable=no| empêche de zoomer et les deux derniers paramètres verrouillent l'échelle. On tient compte des dimensions de l'écran utilisé grâce à l'attribut \verb|width=device-width|.
\smallskip
Il faut relever deux balises meta concernant l'Iphone, notamment pour supprimer la barre d'adresse, qui ne fonctionnent pas sur Androïd\index{Androïd}. Je les ai laissées pour les tests sur Iphone\index{Iphone}.
\bigskip
En fonction de l'écran détecté, on choisit ensuite une feuille de style adaptée à l'aide du \verb|media| de la balise \verb|link|, comme présenté dans le code \ref{listing:feuillesstyle}.
\begin{lstlisting}[float,language=HTML,caption={Feuilles de style},label={listing:feuillesstyle}]
<link rel='stylesheet' href='css/desktop.css' type='text/css' media='screen and (min-width: 481px)' />
<link rel='stylesheet' href='css/android.css' type='text/css' media='only screen and (max-width: 480px' />
\end{lstlisting}
On utilise ici les \squote{Media Queries de CSS3}\index{Media Queries}\index{CSS3}. L'attribut \verb|media| permet en effet de spécifier précisément les feuilles de style ou les styles à utiliser en fonction des écrans. Le code \ref{listing:feuillesstyle} présente une manière de faire un choix de feuilles de style en fonction de l'écran, mais on peut aussi écrire cela directement dans un feuille de style, comme présenté dans le code \ref{listing:mediafeuillesstyle}.
\begin{lstlisting}[float,language=HTML,caption={Media dans une feuille de style},label={listing:mediafeuillesstyle}]
@media screen and (min-width: 481px) {
regles css;
}
\end{lstlisting}
Évidemment, il existe un vocabulaire et une syntaxe simple pour imposer les conditions de choix des écrans (voir \citeweb{wdew}).
\subsubsection{Les feuilles de style}
Les deux feuilles de style présentes \verb|desktop| et \verb|android| sont découpées en trois parties.
\begin{description}
\item[Paramètres généraux]\index{paramètres généraux} contient les spécifications de la page, du corps, des titres et d'alignements.
\item[Paramètres spécifiques]\index{paramètres spécifiques} contient les paramètres relatifs aux boutons, aux balises de sélection, aux listes et aux champs. De plus, on y trouve la description des \squote{boutons} permettant de sélectionner les tests enregistrés.
\item[La carte de vocabulaire]\index{carte de vocabulaire} contient la partie la plus conséquente de la feuille de style. Évidemment, il s'agit de la description de la carte de vocabulaire.
Celle-ci se compose d'une première balise \verb|div| (\#reponse) autour de laquelle on place une petite bordure pour éviter un bord à bord de l'écran.
Puis vient celle qui représente la carte\index{la carte} (\#carte). Centrée dans la précédente par des marges automatiques, avec une petite bordure et légèrement moins longue que son conteneur, elle présente si possible des bords arrondis d'un rayon de dix pixels.
A l'intérieur de la carte se trouvent trois balises \verb|input|. L'une (\#mot) permet d'afficher le mot et sa traduction\index{traduction}. Elle est transparente, sans bordure extérieure et fait 60\% de son conteneur. Le reste sert au deux autres boutons. Une bordure intérieure en haut et en bas est fixée. Signalons que la taille de la police n'est pas la même pour le desktop et pour Androïd. Cela dit, il est très difficile de fixer une taille de police pour les smartphones, car des phrases peuvent se trouver dans le vocabulaire à réviser.
Dans l'espace restant (40\%), on place les \verb|input| associés aux \squote{boutons} pour annuler (\#annuler) et passer au mot suivant (\#suivant). Pas de marges extérieures, pas de bordures, fond transparent, une marge interne haute et basse et une largeur de 20\%.
Pour faire la différence entre le \squote{bouton} d'annulation et celui pour le mot suivant, on définit la les classe d'\verb|input| gauche et droite comme des flottants\index{flottant} à gauche et à droite.
\end{description}
% -------------------------------------------------------------
\begin{table}
\begin{tabularx}{\linewidth}{|X|X|X|}
\hline \textbf{Type} & \textbf{Communication} & \textbf{Characteristics}\\
\hline Memory cards & Using galvanic contact. & Cheap and widely used. Contains only a memory, usually of type EEPROM.\\
\hline Microprocessor cards & Using galvanic contact. & Contains a microprocessor which facilitates rapid adaptation to new applications.\\
\hline Contact-less smart cards & Without galvanic contact but need to be really close to the reader. & Can be either a memory or a microprocessor card.\\
\hline
\end{tabularx}
\caption{A quick overview of the different smartcards}
\label{table:type_of_smartcards}
\end{table}
% Here one can see how to put text between quotes:
Java enforces the \squote{Write Once, Run Anywhere} principle.
% This is the correct way to make reference to a table.
A very good overview is given in \tableref{table:type_of_smartcards}.
% Here we make a reference to a web resource (in the web bibliography).
These informations were retrieved from \citeweb{wRFIDSoft}.
% Here we make a refernce to a normal resouce (standard bibliography).
A more detailed description is provided by \cite{Shepard}, \cite{Collins} or \cite{Mahmoud}.
% In-line source code (class names, paths, method names,...)
The class which is responsible for all the lookup and caching tasks is \src{ch.unifr.ebay.util.Locator} which implements the \src{ch.unifr.ebay.Lookup} interface. The \src{lookup()} method\footnote{This method is very analog to the \footsrc{lookdown()} method.} is its most relevant service.
% Use following command to typeset URLs, pathes, email adresses:
Following file is the root\footnote{This URL is a shortcut to the official website on the University server: \apath{http://www.berkeley.com/cs/student-projects/bobby/index.jsp}}
of my report \apath{/home/genius/uni/master/report/src/main.tex} and this URL \apath{http://diuf.unifr.ch/softenggroup/student-projects/completed/05-06/bobmarley/master.php} provides all the related information and stuff. You can send me your comments by email at following adress: \apath{bob.marley@genius.org}
% Here we have an example of the sinparaenum environment.
There are three possibilities:
\begin{sinparaenum}
\item the first;
\item the second;
\item the third;
\end{sinparaenum}
to achieve this goal!
\tmfigureN{smartcard_components}{General structure of a microprocessor smart card}{smartcard_components}
% Here you see how to use acronyms. Don't forget to define the meaning of the acronym in the corresponding appendix.
Do you know about \ac{XML}? The word \ac{XML} is used as an example of acronym here. Each time you use
it, tpye \ac{XML} and Latex will automatically expand the acronym only for its first occurence!
If we need it explained again, you can force the explanation of the acronym by writing \acf{XML}.
% If acronyms appear in titles you have to type it manually
\end{comment}
\begin{lstlisting}[float,caption={Le manifeste : manifest.manifest},label={listing:commentlong}]
\begin{comment} ... \end{comment}
\end{lstlisting}

View File

@ -1,200 +1,49 @@
% Attention, ce chapitre sera le chapitre 3,
% contrairement à ce que son nom de fichier pourrait faire penser !
\chapter{Configuration} \label{chapter:configuration}
\chapter{Les outils spécifiques}\label{outils_specifiques}\index{Outils spécifiques}
Ce chapitre présente essentiellement le fichier \src{config.tex} qui permet la configuration générale du travail de maturité.
\section{Le texte}
\section{Config.tex}
\subsection{Généralités}
Il n'est pas question de faire un cours sur \LaTeX. Vous pouvez trouver avec \cite{Mittelbach}, \cite{Desgraupes} ou \cite{Rolland} des livres de référence de très bon niveau et avec \citeweb{wEdTM}, \citeweb{wToutLatex} ou \citeweb{wUneCourteIntro} des sites fournissant des ouvrages en PDF qui vous permettrons d'approfondir simplement le sujet. N'oubliez pas non plus l'aide que peuvent vous fournir vos professeurs.
Au \squote{c\oe ur} de la configuration du travail de maturité se trouvent une série de questions posées au rédacteur qui permettent de mettre à sa disposition les différents éléments dont il va avoir besoin. Ces questions se trouvent regroupées dans le fichier \apath{config.tex} sous différentes sections.
\smallskip
On se contentera de rappeler ici quelques règles de base qui permettrons à chacun de s'en sortir sans trop de difficultés.
Ici encore les commentaires jouent un rôle très important. En effet, c'est généralement en décommentant une option et en l'adaptant à ce qu'on désire qu'on peut configurer le modèle. Évidemment, des commentaires (eux-même aussi commentés pas un \%) précisent les lignes qu'il faut décommenter suivant les cas et dont il ne faut pas changer la structure, mais seulement une partie facilement identifiable.
\smallskip
L'utilisation de \LaTeX passe par celle d'un éditeur dédié comme \emph{Texmaker}\index{Texmaker}. On recommande celui-ci car il est libre, gratuit et multiplateforme. Nous ne détaillerons pas son installation. En cas de problèmes, contactez vos professeurs ou une aide en ligne.
\smallskip
Pratiquement, l'édition se fait dans Texmaker sans formatage particulier. Notamment, les retours à la ligne sont gérés automatiquement par l'éditeur. Par contre, les sauts de paragraphes ne correspondent pas dans l'éditeur à de simples retours à la ligne. L'usage courant est de les indiquer par une simple ligne vide. Dans certains cas très particuliers, il est nécessaire d'avoir recours à une double contre-oblique \lstinline!\\!. Mais généralement, il ne faut pas l'utiliser.
Pour obtenir des espaces particulier entre certains parragraphes, trois commandes sont à disposition :
\begin{description}
\item[Petit espace] \lstinline!\smallskip! qui permet un espace entre les paragraphes concernés légèrement plus grand que celui par défaut.
\item[Moyen espace] \lstinline!\medskip! qui donne un espace légèrement plus grand que le précédent et
\item[Grand espace] \lstinline!\bigskip! qui donne un espace encore plus grand, mais qui reste raisonnable.
\item[La langue] Trois langue sont proposées : français, anglais et allemand. Ce choix est très important. Il va introduire l'adaptation de toute une série de mots clé selon la langue choisie. Généralement, par défaut, les mots qui n'admettent pas de choix sont automatiquement traduits (comme le mot Chapitre qui apparaît dans l'entête). Cependant, il est parfois possible de les changer en utilisant le fichier de configuration. Mais, celui-ci ne va pas tout faire et quand la traduction ne se fait pas automatiquement, c'est que le choix est laissé à l'utilisateur. Alors, le changement est à faire dans les fichiers où se trouve le contenu du travail, comme les chapitres par exemple.
\item[La page de titre] S'y trouvent définis les titre et sous-titre du travail, le type de travail, l'auteur, la date et le mentor. Relevez que normalement la page de titre se trouvant sous \apath{pagesspeciales/pagetitre.tex} n'a pas à être modifiée. Les différents évoqués ci-dessus suffisent pour la définir, exception faite d'une éventuelle image de titre.
\item[Le pied de page] S'y trouvent définis le domaine, c'est-à-dire l'option spécifique ou complémentaire ou autre, du travail ainsi que le nom et l'adresse de l'école.
\item[Citations, remerciements, acronymes, licence, site officiel, cdrom, index] On peut choisir ici de mettre une page contenant une pensée ou citation, une page contenant un préambule, une dédicace, des remerciements, une page contenant un résumé, une page d'acronymes, une page présentant la licence du travail, une page présentant le site associé au travail, une autre le cdrom associé et enfin une page d'index.
\item[Chapitres] On définit ici le nombre de chapitres qu'on désire. Des fichiers \apath{chapter1.tex}, \apath{chapter2.tex} \dots{} \apath{chapter9.tex} sont déjà présents dans le répertoire associé \apath{chapters}. Il suffit alors de remplir ceux dont on a besoin. Si on veut plus de dix chapitres, il faut simplement copier l'un d'entre eux et en rajouter le bon nombre sous la forme \apath{chapter10.tex}, \apath{chapter11.tex} \dots{} et d'en définir le nombre correctement.
Notez que si la conclusion est chapitre à part entière, il se trouve dans un fichier éponyme situé sous \apath{chapitres/conclusion.tex}.
\item[Listes des figures, tables et listings] On définit ici la présence d'une page contenant la lise des figures et/ou la liste des tables et/ou la liste des listings. Par défaut, tout est activé pour se rendre compte de ce qui est disponibles. Pour désactiver l'un ou l'autre des ces éléments, il faut donc décommenter la ligne qui lui correspond.
\item[Figures] On définit ici le chemin par défaut vers le répertoire des figures. Le point correspond au répertoire ou se trouve le fichier \apath{main.tex}.
\item[Insertion de code : listings] Le package listings permet d'insérer du code dans latex. Plusieurs langages sont disponibles, par exemple HTML et PHP. Mais seul latex est appelé par défaut. On peut charger d'autres languages pour les listings selon le modèle de la ligne suivante :
\lstinline!\lstloadlanguages{HTML,PHP,TeX}!.
Aussi on peut mettre du code latex pour référencer le numéro des lignes. Il faut alors avoir recours à un caractère d'échappement sur le modèle suivant : \lstinline!\lstloadlanguages{Python}! suivi de \lstinline!\lstset{language=Python,escapechar=|}!
Après le caractère d'échappement, on peut alors placer une commande de référencement \lstinline!\label{}! qui permet d'avoir accès au numéro de la ligne dans le texte via \lstinline!\ref{}!.
\item[Version provisoire] Si vous travaillez avec une version provisoire, cette commande imprime un filigrane en haut à gauche de chaque page. Commentez la pour la version finale.
\item[Le texte] Se règle ici l'indentation de la première ligne de chaque paragraphe. Différentes possiblilités sont présentes et il suffit d'en choisir une en la décommentant.
\item[Un index] Il n'est pas nécessaire de réaliser un index. Par défaut, il y en a cependant un. Décommentez cette ligne si vous n'en voulez pas. Attention, pour construire le fichier d'index idx, il doit être compilé avec makeindex en ligne de commande.
\end{description}
Pour des espacements encore plus grand voyez la littérature.
\section{Version provisoire}
Rappelons que le réglage de l'indentation de première ligne se fait dans le fichier de configuration du travail de maturité (voir chapitre \ref{chapter:configuration}).
Pendant la rédaction et par défaut le modèle est placé en mode \og draft\fg. Ce mode offre différents outils pour faciliter la rédaction.
\medskip
La mise en évidence de certains mots dans le texte ne doit surtout pas se faire par une augmentation de la graisse (mise en gras). Une telle technique est réservée aux cas particuliers où il est nécessaire de faire apparaître très fortement certains termes. Elle ne doit être utilisée qu'exceptionnellement.
Notamment, il va mettre l'indication \og Version provisoire\fg{} (ou sont équivalent en anglais ou allemand) en filigrane en haut à gauche et changer la date sur la page de titre pour y mettre un indication portant le jour, alors que dans la version finale celle-ci n'apparaît pas.
Deux commandes servent généralement à la mise en évidence.
\begin{description}
\item[L'italique] obtenu par la commande \lstinline!\emph{mot}! et cela produit ceci : \emph{mot}.
\item[Les guillemets] obtenus suivant les cas de deux manières différentes. Pour les guillemets anglais la commande est \lstinline!\squote{mot}! et cela produit ceci : \squote{mot}.
Mais, il va aussi entre autres\endnote{Voir une liste plus complète à l'adresse \url{http://tex.stackexchange.com/questions/49277/what-does-the-draft-mode-change}} ne pas charger les images et les codes sources pour accélérer la compilation tout en indiquant leur place.
Il va aussi permettre de repérer les lignes ou la césure a été difficile par l'indication d'un carré noir en regard des lignes trop longues.
Pour les guillemets français, en raison de leur dissymétrie, il faut utiliser les commandes \lstinline!\og! et \lstinline!\fg! en encadrant le mot \lstinline!\og mot\fg! et cela donne : \og mot\fg.
\end{description}
De plus, pour vous permettre, et éventuellement pour permettre à votre mentor, des remarques, l'évocation des pistes d'approfondissement ou de propositions de modifications, le module \verb|totonotes| est activé par l'option draft. Il donne la possibilité de mettre en marge de votre document des notes telles que celle-ci\footnote{La présente documentation ne permet pas de voir cette note puisque celle-ci a été réalisée en mode de document final, sans l'option draft (voir plus loin). Pour la voir, il faut simplement compiler le document en mode draft}\todo[line]{À ne pas oublier}. Pour cela, l'instruction toute simple \lstinline!\todo[line]{À ne pas oublier}! est à placer là ou on désire que la note soit placée. De multiples options de couleurs notamment ou autre sont disponibles. Voyez pour cela la documentation du module. Notez aussi que pour que la ligne pointant vers le texte soit correctement placée, il est nécessaire de compiler deux fois le modèle !
\subsection{Environnements}
L'environnement principal nécessaire dans pratiquement tout travail de maturité est celui correspondant aux citations. Une fois pour toute, un environnement de citation a été défini très clairement. Chaque citation est référencée à l'aide d'un compteur, elle est mise en évidence et son auteur est mentionné en fin de citation.
\bigskip
L'ensemble de ces comportements par défaut est évidemment incompatible avec la version finale du travail. Pour les désactiver, c'est-à-dire retirer le filigrane et les notes de marge notamment, il suffit de retirer l'option \verb|draft| de la première ligne déclarant la classe de document dans le fichier \apath{main.tex}. Pour cela, commentez et décommentez les lignes présentées dans le code \ref{listing:optiondraft} pour que suivant les cas seule la ligne comprenant l'option draft soit activée (décommentée) pour désactivée (commentée). Attention, seule une ligne peut être décommentée.
L'environnement permettant cela est donné par le code \listingref{listing:citation} qui donne le résultat constitue la citation \ref{wales}.
\begin{lstlisting}[float,caption={L'environnement de citation},label={listing:citation}]
\begin{Citation}{Jimmy Wales. Fondateur de Wikipedia.}\label{wales}
Imaginez un monde dans lequel chaque personne pourrait partager librement l'ensemble des connaissances humaines.
\end{Citation}
\end{lstlisting}
\begin{Citation}{Jimmy Wales. Fondateur de Wikipedia.}\label{wales}
Imaginez un monde dans lequel chaque personne pourrait partager librement l'ensemble des connaissances humaines.
\end{Citation}
\section{Figures}
Quatre commandes pour placer des figures sont prévues. Elles permettent de mettre simplement des figures de taille très petite (\lstinline|\tmfigureT|), de taille petite (\lstinline|\tmfigureS|), de taille normale (\lstinline|\tmfigureN|) et de grande taille (\lstinline|\tmfigureB|). Chaque commande prend quatre arguments :
\begin{enumerate}
\item le nom de la figure sans extension,
\item sa légende,
\item une étiquette qui permet d'en faire la référence dans le texte et
\item un crédit photographique obligatoire qui va apparaître en fin de document. Pour mettre une url, il faut utiliser la commande protégée : \lstinline|\protect\url{...}|.
\end{enumerate}
Ainsi, la commande de placement de chaque figure est donné par le code \listingref{listing:figure}.
\begin{lstlisting}[float,caption={Les commandes de placement des figures},label={listing:figure}]
\tmfigureB{NomFigureSansExtension}{Legende}{fig:votreLabel1}{credit} % Taille grande
\tmfigureN{NomFigureSansExtension}{Legende}{fig:votreLabel2}{credit} % Taille normale
\tmfigureS{NomFigureSansExtension}{Legende}{fig:votreLabel3}{credit} % Taille petite
\tmfigureT{NomFigureSansExtension}{Legende}{fig:votreLabel4}{credit} % Taille tres petite
\end{lstlisting}
Pour placer une référence dans le texte, il suffit ensuite de mettre la commmande donnée par le code \listingref{listing:reffigure} là où on souhaite son numéro.
\begin{lstlisting}[float,caption={La commande de référence à une figure},label={listing:reffigure}]
\figref{fig:votreLabelno}
\end{lstlisting}
Le résultat obtenu est présenté aux figures \figref{fig:figgrandetaille}, \figref{fig:figtaillenormale}, \figref{fig:figpetitetaille} et \figref{fig:figtrespetitetaille}.
\tmfigureB{cdrom}{Une figure de grande taille}{fig:figgrandetaille}{Crédit figure grande taille \protect\url{http://www.debian.org}}
\tmfigureN{cdrom}{Une figure de taille normale}{fig:figtaillenormale}{Crédit figure taille normale \protect\url{http://www.debian.org}} % Taille normale
\tmfigureS{cdrom}{Une figure de petite taille}{fig:figpetitetaille}{Crédit figure petite taille \protect\url{http://www.debian.org}} % Taille petite
\tmfigureT{cdrom}{Une figure de très petite taille}{fig:figtrespetitetaille}{Crédit figure très petite taille \protect\url{http://www.debian.org}} % Taille tres petite
Il reste bien entendu possible de déclarer des figures flottantes de manière classique grâce au code du listing \ref{listing:figureclassique}.
\begin{lstlisting}[float,caption={Commande classique de placement d'une figure},label={listing:figureclassique}]
\begin{figure}
\centering
\includegraphics[scale=1]{...}
\caption{\label{...}...}
\credit{... \protect\url{...}}
\end{figure}
\end{lstlisting}
Cela permet un réglage plus fin de la taille de la figure.
\medskip
Remarquez enfin, qu'il est possible d'activer ou de désactiver l'affichage d'une page présentant une liste des figures avec une référence aux pages où elles se trouvent. Pour cela, il suffit de mettre Y (es) ou N (o) dans la commande \lstinline|\unelistefig| du fichier de configuration \verb|config.tex|.
Qu'il est possible d'activer ou de désactiver l'affichage de la page présentant la liste des crédits photographiques avec une référence aux pages où ils se trouvent. Pour cela, il suffit de mettre Y (es) ou N (o) dans la commande \lstinline|\unelistecredits| du fichier de configuration \verb|config.tex|.
\section{Code source}
Pour les travaux de maturité en informatique, il est nécessaire de pouvoir présenter du code. Pour cela on utilise l'environnement \lstinline|lstlisting| (du pacakge listings) que le code \ref{listing:gestioncode} présente et qui constitue en lui-même le résultat qu'on obtient.
\begin{lstlisting}[float,caption={L'environnement pour placer du code},label={listing:gestioncode}]
\begin{lstlisting}[float,caption={Legende du code},label={listing:votreLabel}]
Placez le code ici.
\end{lstlisting } <- sans l'espace !
\end{lstlisting}
\section{Bibliographie}\index{Bibliographie}\label{bibliographie}
Une bibliographie est absolument nécessaire pour un travail de maturité. Cependant, il ne s'agit généralement pas de bibliographies complexes. C'est pourquoi on se limitera ici à une gestion à une gestion très simple de la bibliographie via deux fichiers : \verb|mainbib.bib| et \verb|webbib.bib|. Le premier permet de créer une bibliographie traditionnelle fraite de livres, articles, \dots{} Le second permet une \squote{bibliographie} de sites web.
\subsection{Sites web}
Commençons par les sites web à référencer. Comme pour la bibliographie traditionnelle qu'on va voir plus loin, deux choses sont nécessaires :
\begin{itemize}
\item Décrire dans le fichier \verb|webbib.bib| les caractéristiques de chaque site. Il s'agit de son titre, son url et la date de la consultation (\emph{obligatoire}). De plus, il faut le lier à une référence qui permettra la citation dans le texte.
\item Placer une référence dans le texte pointant sur le site en question.
\end{itemize}
Pour cela, la structure retenue est celle présentée dans le code \listingref{listing:webbiblio}.
\begin{lstlisting}[float,caption={La référence à un site web},label={listing:webbiblio}]
@MISC{mareference,
title = {{Le titre}},
note = {\biburl{http://www.adresse/a/referencer.html}{12}{janvier}{2006}},
key = {cle_alphabetique}
}
\end{lstlisting}
Remarquez les doubles accolades pour le titre, la commande \lstinline|\biburl{...}| pour l'adresse et le fait que la référence est libre, mais unique, sans espace, sans accents et sans caractères particuliers.
\smallskip
Pour placer la référence, il faut utiliser la commande \lstinline|\citeweb{mareference}|. Elle se met directement dans le texte et sera traduite à la compilation en un numéro permettant de retrouver le site dans la liste des sites web en fin de document.
Par exemple, en plaçant la commande \lstinline|\citeweb{wGNUDoc}| dans ce texte, on obtient la référence \citeweb{wGNUDoc} dont le numéro, qui figure dans la liste des sites web à la fin de ce document, réfère au site contenant le texte de la licence libre GFDL.
\smallskip
Attention cependant, la référence ne doit pas être confondue avec la clé (key) qui permet, en l'absence de nom d'auteur, de trier alphabétiquement les références dans la liste des sites web.
\smallskip
Attention aussi à la procédure permettant de réaliser la ''bibliographie'' des sites web. Elle est issue du module \verb|multibib| qui permet de réaliser les deux bibliographies. Il s'agit tout d'abord de faire appel à la commande :
\begin{verbatim}
bibtex web
\end{verbatim}
dans le répertoire principal (où se trouve le fichier \verb|main.tex|). Puis, de recompiler \verb|main.tex| au moins deux fois.
\smallskip
Remarquez enfin, que si aucune référence \lstinline|\citeweb{unereference}| ne se trouve dans le texte, la page de référence des sites web n'appraîtra pas, même si des entrées figurent dans le fichier \verb|webbib.bib|.
\subsection{Bibliographie}
Pour la bibliographie traditionnelle, les choses sont assez identiques. Deux choses sont aussi nécessaires :
\begin{itemize}
\item Décrire dans le fichier \verb|mainbib.bib| les caractéristiques de chaque ouvrage. Il s'agit de différents champs qui sont fonction du type d'ouvrage décrit. Des exemples sont donnés et sous la mention bibtex, on en trouve d'autres sur le net. De plus, il faut lier chaque ouvrage à une référence qui permettra la citation dans le texte.
\item Placer une référence dans le texte pointant sur le site en question.
\end{itemize}
Pour cela, la structure retenue est celle présentée dans le code \listingref{listing:ouvragebiblio}.
\begin{lstlisting}[float,caption={La référence à un ouvrage},label={listing:ouvragebiblio}]
@Book{Mittelbach,
author = {Frank Mittelbach et Michel Goossens},
title = {Latex companion},
publisher = {Pearson Education},
year = {2005},
note = {Ouvrage exhaustif. La reference en la matiere.}}
@Article{GuidonC,
author = {Yann Guidon},
title = {Plus leger, plus rapide : compactez votre site web},
journal = {Linux Magazine France},
year = {2011},
volume = {144},
number = {1 et 2},
pages = {78-98},
month = {decembre},
note = {Article assez complexe.}}
\end{lstlisting}
Ici deux types d'ouvrages sont décrits : un livre et un article. A chaque type d'ouvrage correspond une série de champs descriptifs qui lui est propre.
\smallskip
Pour placer la référence, il faut utiliser la commande \lstinline|\cite{Mittelbach}|, par exemple. Elle se met directement dans le texte et sera traduite à la compilation en un une référence faite des trois premières lettres du nom de l'auteur accolées à l'année de plublication et permettant de retrouver le site dans la liste des sites web en fin de document.
Par exemple, en plaçant la commande \lstinline|\cite{Mittelbach}| dans ce texte, on obtient \cite{Mittelbach} dont la référence, qui figure dans la liste des ouvrages à la fin de ce document, mène au livre \squote{\LaTeX{} companion}.
\smallskip
Attention à la procédure permettant de réaliser la ''bibliographie'' traditionnelle. Elle est issue du module \verb|multibib| qui permet de réaliser les deux bibliographies. Il s'agit tout d'abord de faire appel à la commande :
\begin{verbatim}
bibtex main
\end{verbatim}
dans le répertoire principal (où se trouve le fichier \verb|main.tex|). Puis, de recompiler \verb|main.tex| au moins deux fois.
\smallskip
Remarquez enfin, que si aucune référence \lstinline|\citeweb{unereference}| ne se trouve dans le texte, la page de référence des sites web n'appraîtra pas, même si des entrées figurent dans le fichier \verb|webbib.bib|.
\section{Index}\index{Index}\label{index}
Il n'est absolument pas nécessaire de réaliser un index pour un travail de maturité. La possibilité de le faire a néanmoins été maintenue au cas ou cela s'avèrerais nécessaire pour un raison ou une autre.
\begin{lstlisting}[float,caption={L'option draft},label={listing:optiondraft}]
\documentclass[12pt,a4paper,idxtotoc,bibtotoc,francais,titlepage,twoside,openright,draft]{book}
%\documentclass[12pt,a4paper,idxtotoc,bibtotoc,francais,titlepage,twoside,openright]{book}
\end{lstlisting}

View File

@ -1,41 +1,224 @@
% Attention, ce chapitre sera le chapitre 4,
% contrairement à ce que son nom de fichier pourrait faire penser !
\chapter{Les outils spécifiques}\label{outils_specifiques}\index{Outils spécifiques}
\chapter{Structure et compilation}\label{suite}\index{suite}
Sans revenir sur le fonctionnement de \LaTeX, rappelons qu'il est nécessaire de passer par une étape de compilation pour obtenir le document final. Cette compilation nécessite l'utilisation d'un grand nombre de fichiers qui sont organisés selon une structure bien précise.
\section{Le texte}
\section{Structure de fichiers}
\subsection{Généralités}
Il n'est pas question de faire un cours sur \LaTeX. Vous pouvez trouver avec \cite{Mittelbach}, \cite{Desgraupes} ou \cite{Rolland} des livres de référence de très bon niveau et avec \citeweb{wEdTM}, \citeweb{wToutLatex} ou \citeweb{wUneCourteIntro} des sites fournissant des ouvrages en PDF qui vous permettrons d'approfondir simplement le sujet. N'oubliez pas non plus l'aide que peuvent vous fournir vos professeurs.
\subsection{Description}
Pour s'y retrouver dans la multitude des fichiers qui peuplent le répertoire dans lequel se trouve le modèle de travail de maturité, il faut partir de la racine du projet, c'est à dire le répertoire dans lequel se trouve le fichier principal nommé : \verb|main.tex|. A l'intérieur de celui-ci se trouvent plusieurs répertoires : \verb|pagesspeciales|, \verb|chapitres|, \verb|images| et \verb|code_source| et plusieurs fichiers : toute une série de \verb|main.|, des \verb|config.|, des \verb|TM.|, des \verb|web| et \verb|fancyheadings.sty|, \verb|multibib.sty| et \verb|licence.txt|.
\smallskip
On se contentera donc de rappeler ici quelques règles de base qui permettrons à chacun de s'en sortir sans trop de difficultés.
Les \verb|main.| sont issus de la compilation. A part \verb|main.tex|, il ne faut pas les toucher. Même \verb|main.tex| ne devrait pas être modifié. On ne doit que le compiler.
\smallskip
L'utilisation de \LaTeX{} passe par celle d'un éditeur dédié comme \emph{Texmaker}\index{Texmaker}. On recommande celui-ci car il est libre, gratuit et multiplateforme. Nous ne détaillerons pas son installation. En cas de problèmes, contactez vos professeurs ou une aide en ligne.
Parmis les \verb|config.|, seul le fichier \verb|config.tex| doit être parcouru pour définir les réglages à faire pour adapter le modèle de travail de maturité à son propre travail de maturité. Il doit être impérativement lu.
\smallskip
Pratiquement, dans Texmaker, l'édition se fait sans formatage particulier. Notamment, les retours à la ligne sont gérés automatiquement par l'éditeur. Par contre, les sauts de paragraphes ne correspondent pas dans l'éditeur à de simples retours à la ligne. L'usage courant est de les indiquer par une simple ligne vide. Cependant, dans certains cas très particuliers, il est nécessaire d'avoir recours à une double contre-oblique \lstinline!\\!. Mais généralement, il ne faut pas l'utiliser.
Parmis les \verb|TM.|, l'élément central est \verb|TM.sty|. C'est le fichier de macros qui permet le fonctionnement du modèle de travail de maturité. Il ne faut pas le toucher.
Pour obtenir des espaces particulier entre certains parragraphes, trois commandes sont à disposition :
\begin{description}
\item[Petit espace] \lstinline!\smallskip! qui permet un espace entre les paragraphes concernés légèrement plus grand que celui par défaut.
\item[Moyen espace] \lstinline!\medskip! qui donne un espace légèrement plus grand que le précédent et
\item[Grand espace] \lstinline!\bigskip! qui donne un espace encore plus grand, mais qui reste raisonnable.
\end{description}
Les \verb|web| servent à la bibliographie des pages web. Le fichier permettand de répertorier les différents sites web est \verb|webbib.bib|. C'est celui-ci qu'il faut remplir des références web. De la même manière, c'est le fichier \verb|mainbib.bib| qu'il faut remplir des références pour la bibliographie classique.
Pour des espacements encore plus grand voyez la littérature.
Finalement, les fichiers \verb|fancyheadings.sty| et \verb|multibib.sty| sont nécessaires pour les entêtes et les deux bibliographies. Il ne faut pas les toucher. Le fichier \verb|licence.txt| donne lui le texte de la licence du travail.
Rappelons que le réglage de l'indentation de première ligne se fait dans le fichier de configuration du travail de maturité (voir chapitre \ref{chapter:configuration}).
\bigskip
Dans le répertoire \verb|pagesspéciales|, se trouvent les fichiers nécessaires à la définition des pages spéciales comme la page de titre (\verb|pagetitre.tex|), la page de citation et dédicaces (\verb|citations.tex|), la page de remerciements (\verb|remerciements.tex|, la page du résumé (\verb|resume.tex|, la page des acronymes (\verb|acronymes.tex|) et la page décrivant le site web éventuellement associé au travail de maturité (\verb|website.tex|).
\medskip
La mise en évidence de certains mots dans le texte ne doit surtout pas se faire par une augmentation de la graisse (mise en gras). Une telle technique est réservée aux cas particuliers où il est nécessaire de faire apparaître très fortement certains termes. Elle ne doit être utilisée qu'exceptionnellement.
Dans le répertoire \verb|chapitres| se trouvent les différents chapitres du travail de maturité, ainsi que son introduction et sa conclusion. C'est dans ceux-ci qu'il faut travailler.
Deux commandes servent généralement à la mise en évidence.
\begin{description}
\item[L'italique] obtenu par la commande \lstinline!\emph{mot}! et cela produit ceci : \emph{mot}.
\item[Les guillemets] obtenus suivant les cas de deux manières différentes. Pour les guillemets anglais la commande est \lstinline!\squote{mot}! et cela produit ceci : \squote{mot}.
Dans le répertoire \verb|images| se trouvent les images du travail de maturité. Elles doivent figurer sous deux formes : .eps et .jpg ou .png. Généralement on y met une version .eps et une version .jpg de chaque image.
Pour les guillemets français, en raison de leur dissymétrie, il faut utiliser les commandes \lstinline!\og! et \lstinline!\fg! en encadrant le mot \lstinline!\og mot\fg! et cela donne : \og mot\fg.
\end{description}
Finalement, dans le répertoire \verb|code_source| se trouvent éventuellement des codes sources informatiques qui vont figurer dans le travail de maturité.
\subsection{Légendes}
Une précision importante pour la suite : le référencement des légendes dans les pages spéciales contenant la liste des éléments référencés n'est mis-à-jour qu'après \emph{deux} compilations. Souvenez-vous en bien !
\subsection{Pratiquement}
Le modèle de travail de maturité se présente sous le forme d'un répertoire zippé. Il faut donc tout d'abord le décompresser et lire le fichier \verb|Lisez-moi.txt| qui va vous diriger vers le présent texte qu'il faut lire.
\subsection{Environnements}
L'environnement principal nécessaire dans pratiquement tout travail de maturité est celui correspondant aux citations. Dans ce modèle, une fois pour toute, un environnement de citation a été défini très clairement. Chaque citation est référencée à l'aide d'un compteur, elle est mise en évidence et son auteur est mentionné en fin de citation.
Puis, il faut tenter une première compilation du fichier \verb|main.tex| pour détecter d'éventuelles erreurs dues à l'éventuelle absence de packages nécessaires. Si c'est le cas, il faut les installer et refaire la compilation jusqu'à ce qu'il n'y ait plus d'erreurs.
L'environnement permettant cela est donné par le code \listingref{listing:citation} qui donne le résultat constituant la citation \ref{wales}, page \pageref{wales}.\todo[line]{Rendre obligatoire l'argument de référence.}
Alors le travail peut commencer.
\begin{lstlisting}[float,caption={L'environnement de citation},label={listing:citation}]
\begin{Citation}{Jimmy Wales. Fondateur de Wikipedia.}\label{wales}
Imaginez un monde dans lequel chaque personne pourrait partager librement l'ensemble des connaissances humaines.
\end{Citation}
\end{lstlisting}
\section{Compilation}
Pour compiler le document, il n'est théoriquement pas nécessaire de faire appel à un éditeur latex dédié. On peut tout faire à l'aide d'une bonne vieille console. Mais, il est évidemment plus pratique d'avoir recours à un éditeur comme Texmaker.
\begin{Citation}{Jimmy Wales. Fondateur de Wikipedia.\endnote{Exemple de référence référence précise dans une note de pied de page pour la citation de Jimmy Wales, page \pageref{wales}.}}\label{wales}
Imaginez un monde dans lequel chaque personne pourrait partager librement l'ensemble des connaissances humaines.
\end{Citation}
Comme déjà dit, le document à compiler est \verb|main.tex|. A la fin, il est aussi nécessaire de préparer cette compilation pour permettre aux bibliographies d'être intégrées dans le document. Pour cela, il faut réaliser une première compilation, puis dans la console associée à Texmaker, exécuter successivement \lstinline|bibtex main| et \lstinline|bibtex web|. Cela permettra de créer les fichiers nécessaires pour les bibliographies. Puis, il faut recompiler une ou deux fois le document principal.
Relevez que cet environnement dispose d'un argument \og obligatoire\fg{} constituant sa référence et d'une commande \lstinline!\label{}! permettant de s'y référer dans le texte à l'aide de \lstinline!\ref{}!. Pour préciser la référence, on peut utiliser une note de fin de document \lstinline!\endnote{}! \footnote{Pour l'instant les références de citations ne sont pas placées sur une page qui leur serait proprement consacrées, car elle sont souvent peu nombreuses. Mais si cela s'avérait nécessaire pour vous, n'hésitez pas à me contacter pour que je modifie le modèle dans ce sens.} comme cela est fait dans la citation \ref{wales}. Mais, attention, il n'est pas possible d'utiliser une note de pied de page telle que celle-ci\footnote{Ces notes sont réservées à des éléments de précisions autres que des références.} pour préciser la référence dans l'argument de la commande de citation.
\section{Figures}
Quatre commandes pour placer des figures sont prévues. Elles permettent de mettre simplement des figures de taille très petite (\lstinline|\tmfigureT|), de taille petite (\lstinline|\tmfigureS|), de taille normale (\lstinline|\tmfigureN|) et de grande taille (\lstinline|\tmfigureB|). Chaque commande prend quatre arguments :
\begin{enumerate}
\item le nom de la figure sans extension,
\item sa légende,
\item une étiquette qui permet d'en faire la référence dans le texte et
\item un crédit photographique \og obligatoire\fg{} qui va apparaître en fin de document. Pour mettre une url, il faut utiliser la commande protégée : \lstinline|\protect\url{...}|.
\end{enumerate}
Ainsi, la commande de placement de chaque figure est donné par le code \listingref{listing:figure}.
\begin{lstlisting}[float,caption={Les commandes de placement des figures},label={listing:figure}]
\tmfigureB{NomFigureSansExtension}{Legende}{fig:votreLabel1}{credit} % Taille grande
\tmfigureN{NomFigureSansExtension}{Legende}{fig:votreLabel2}{credit} % Taille normale
\tmfigureS{NomFigureSansExtension}{Legende}{fig:votreLabel3}{credit} % Taille petite
\tmfigureT{NomFigureSansExtension}{Legende}{fig:votreLabel4}{credit} % Taille tres petite
\end{lstlisting}
Pour placer une référence dans le texte, il suffit ensuite de mettre la commmande donnée par le code \listingref{listing:reffigure} là où on souhaite son numéro.
\begin{lstlisting}[float,caption={La commande de référence à une figure},label={listing:reffigure}]
\figref{fig:votreLabelno}
\end{lstlisting}
Le résultat obtenu est présenté aux figures \figref{fig:figgrandetaille}, page \pageref{fig:figgrandetaille}, \figref{fig:figtaillenormale}, page \pageref{fig:figtaillenormale}, \figref{fig:figpetitetaille} et \figref{fig:figtrespetitetaille}, page \pageref{fig:figtrespetitetaille}.
\tmfigureB{cdrom}{Une figure de grande taille}{fig:figgrandetaille}{Crédit figure grande taille \protect\url{http://www.debian.org}}
\tmfigureN{cdrom}{Une figure de taille normale}{fig:figtaillenormale}{Crédit figure taille normale \protect\url{http://www.debian.org}} % Taille normale
\tmfigureS{cdrom}{Une figure de petite taille}{fig:figpetitetaille}{Crédit figure petite taille \protect\url{http://www.debian.org}} % Taille petite
\tmfigureT{cdrom}{Une figure de très petite taille}{fig:figtrespetitetaille}{Crédit figure très petite taille \protect\url{http://www.debian.org}} % Taille tres petite
Il reste bien entendu possible de déclarer des figures flottantes de manière classique grâce au code du listing \ref{listing:figureclassique}.
\begin{lstlisting}[float,caption={Commande classique de placement d'une figure},label={listing:figureclassique}]
\begin{figure}
\centering
\includegraphics[scale=1]{...}
\caption{\label{...}...}
\credit{... \protect\url{...}}
\end{figure}
\end{lstlisting}
Cela permet un réglage plus fin de la taille de la figure.
Un autre environnement de placement des figures est permis pas le module \verb|subfig|. Il permet de placer plusieurs figures l'une à côté de l'autre avec pour chacune une sous-légende et pour les deux une légende. Le résultat est donné à la figure \ref{fig:lp}, page \pageref{fig:lp}, avec deux sous-figures \ref{fig:sl1} et \ref{fig:sl2}, sous-légendées.
Le code nécessaire pour placer ces figures est celui du listing \ref{listing:subfig}. Mais la documentation du module \verb|subfig| vous en dira plus sur le placement d'un plus grand nombre de sous-figures.
\begin{figure}[t]
\centering
\subfloat[Première sous-légende\label{fig:sl1}]{\includegraphics[width=3cm]{cdrom}}\qquad
\subfloat[Seconde sous-légende\label{fig:sl2}]{\includegraphics[width=3cm]{cdrom}}
\caption{Légende principale d'une multi-figure}\label{fig:lp}
\end{figure}
\begin{lstlisting}[float,caption={Commande de placement de multiples figures},label={listing:subfig}]
\begin{figure}[t]
\centering
\subfloat[Première sous-légende\label{fig:sl1}]{\includegraphics[width=3cm]{cdrom}}\qquad
\subfloat[Seconde sous-légende\label{fig:sl2}]{\includegraphics[width=3cm]{cdrom}}
\caption{Légende principale}\label{fig:lp}
\end{figure}
\end{lstlisting}
\medskip
Remarquez enfin, qu'il est possible d'activer ou de désactiver l'affichage d'une page présentant une liste des figures avec une référence aux pages où elles se trouvent. Pour cela, il suffit de décommenter la commande \lstinline|\unelistefig| du fichier de configuration \verb|config.tex|.
Qu'il est possible d'activer ou de désactiver l'affichage de la page présentant la liste des crédits photographiques avec une référence aux pages où ils se trouvent. Pour cela, il suffit de décommenter la commande \lstinline|\unelistecredits| du fichier de configuration \verb|config.tex|.
\section{Code source}
Pour les travaux de maturité en informatique, il est nécessaire de pouvoir présenter du code. Pour cela on utilise l'environnement \lstinline|lstlisting| (du pacakge listings) que le code \ref{listing:gestioncode} présente et qui constitue en lui-même le résultat qu'on obtient.
\begin{lstlisting}[float,caption={L'environnement pour placer du code},label={listing:gestioncode}]
\begin{lstlisting}[float,caption={Legende du code},label={listing:votreLabel}]
Placez le code ici.
\end{lstlisting } <- sans l'espace !
\end{lstlisting}
\section{Bibliographie}\index{Bibliographie}\label{bibliographie}
Une bibliographie est absolument nécessaire pour un travail de maturité. Cependant, il ne s'agit généralement pas de bibliographies complexes. C'est pourquoi on se limitera ici à une gestion à une gestion très simple de la bibliographie via deux fichiers : \verb|mainbib.bib| et \verb|webbib.bib|. Le premier permet de créer une bibliographie traditionnelle faite de livres, articles, \dots{} Le second permet une \squote{bibliographie} de sites web. Ces deux types de bibliographies sont volontairement séparées en raison de la difficulté de lecture des url de site web.
\subsection{Sites web}
Commençons par les sites web à référencer. Comme pour la bibliographie traditionnelle qu'on va voir plus loin, deux choses sont nécessaires :
\begin{itemize}
\item Décrire dans le fichier \verb|webbib.bib| les caractéristiques de chaque site. Il s'agit de son titre, son url et la date de la consultation \emph{obligatoire}. De plus, il faut le lier à une référence qui permettra la citation dans le texte.
\item Placer une référence dans le texte pointant sur le site en question.
\end{itemize}
Pour cela, la structure retenue est celle présentée dans le code \listingref{listing:webbiblio}.
\begin{lstlisting}[float,caption={La référence à un site web},label={listing:webbiblio}]
@MISC{mareference,
title = {{Le titre}},
note = {\biburl{http://www.adresse/a/referencer.html}{12}{janvier}{2006}},
key = {cle_alphabetique}
}
\end{lstlisting}
Remarquez les doubles accolades pour le titre, la commande \lstinline|\biburl{...}| pour l'adresse et le fait que la référence est constituée d'un mot librement choisi, mais unique, sans espace, sans accents et sans caractères particuliers.
\smallskip
Pour placer la référence, il faut utiliser la commande \lstinline|\citeweb{mareference}|. Elle se met directement dans le texte et sera traduite à la compilation en un numéro permettant de retrouver le site dans la liste des sites web en fin de document.
Par exemple, en plaçant la commande \lstinline|\citeweb{wGNUDoc}| dans ce texte, on obtient la référence \citeweb{wGNUDoc} dont le numéro, qui figure dans la liste des sites web à la fin de ce document, réfère au site contenant le texte de la licence libre GFDL.
\smallskip
Attention cependant, la référence ne doit pas être confondue avec la clé (key) qui permet, en l'absence de nom d'auteur, de trier alphabétiquement les références dans la liste des sites web.
\smallskip
Attention aussi à la procédure permettant de réaliser la ''bibliographie'' des sites web. Elle est issue du module \verb|multibib| qui permet de réaliser les deux bibliographies. Il s'agit tout d'abord de faire appel à la commande :
\begin{verbatim}
bibtex web
\end{verbatim}
dans le répertoire principal (où se trouve le fichier \verb|main.tex|). Puis, de recompiler \verb|main.tex| au moins deux fois.
\smallskip
Remarquez enfin, que si aucune référence \lstinline|\citeweb{unereference}| ne se trouve dans le texte, la page de référence des sites web n'appraîtra pas, même si des entrées figurent dans le fichier \verb|webbib.bib|. Si vous désirez néanmoins faire apparaître toute les références de votre bibliographie, c'est-à-dire celle citées dans votre texte et celles qui ne le sont pas, décommentez à la fin du fichier \apath{main.tex} la ligne \lstinline!%\nocite{*}!. L'étoile signifie tout les éléments non cités. Faites quelques recherches sur cette commande si vous désirez ne faire apparaître que quelques références non citées.\label{nocite}
\subsection{Bibliographie}
Pour la bibliographie traditionnelle, les choses sont assez identiques. Deux choses sont aussi nécessaires :
\begin{itemize}
\item Décrire dans le fichier \verb|mainbib.bib| les caractéristiques de chaque ouvrage. Il s'agit de différents champs qui sont fonction du type d'ouvrage décrit. Des exemples sont donnés et sous la mention bibtex, on en trouve d'autres sur le net. De plus, il faut lier chaque ouvrage à une référence qui permettra la citation dans le texte.
\item Placer une référence dans le texte pointant sur le site en question.
\end{itemize}
Pour cela, la structure retenue est celle présentée dans le code \listingref{listing:ouvragebiblio}.
\begin{lstlisting}[float,caption={La référence à un ouvrage},label={listing:ouvragebiblio}]
@Book{Mittelbach,
author = {Frank Mittelbach et Michel Goossens},
title = {Latex companion},
publisher = {Pearson Education},
year = {2005},
note = {Ouvrage exhaustif. La reference en la matiere.}}
@Article{GuidonC,
author = {Yann Guidon},
title = {Plus leger, plus rapide : compactez votre site web},
journal = {Linux Magazine France},
year = {2011},
volume = {144},
number = {1 et 2},
pages = {78-98},
month = {decembre},
note = {Article assez complexe.}}
\end{lstlisting}
Ici deux types d'ouvrages sont décrits : un livre et un article. À chaque type d'ouvrage correspond une série de champs descriptifs qui lui est propre.
\smallskip
Pour placer la référence, il faut utiliser la commande \lstinline|\cite{Mittelbach}|, par exemple. Elle se met directement dans le texte et sera traduite à la compilation en un une référence faite des trois premières lettres du nom de l'auteur accolées à l'année de plublication et permettant de retrouver le site dans la liste des sites web en fin de document.
Par exemple, en plaçant la commande \lstinline|\cite{Mittelbach}| dans ce texte, on obtient \cite{Mittelbach} dont la référence, qui figure dans la liste des ouvrages à la fin de ce document, mène au livre \squote{\LaTeX{} companion}.
Un argument facultatif de la commande \lstinline!\cite{}! permet de spécifier la ou les pages à prendre en compte. Par exemple, en plaçant \lstinline!\cite[p. 45-64]{Mittelbach}! dans ce texte, on obtient \cite[p. 45-64]{Mittelbach} dont la référence mène toujours au même livre.
\smallskip
Attention à la procédure permettant de réaliser la ''bibliographie'' traditionnelle. Elle est issue du module \verb|multibib| qui permet de réaliser les deux bibliographies. Il s'agit tout d'abord de faire appel à la commande :
\begin{verbatim}
bibtex main
\end{verbatim}
dans le répertoire principal (où se trouve le fichier \verb|main.tex|). Puis, de recompiler \verb|main.tex| au moins deux fois.
\smallskip
Remarquez enfin, que si aucune référence \lstinline|\citeweb{unereference}| ne se trouve dans le texte, la page de référence des sites web n'apparaîtra pas, même si des entrées figurent dans le fichier \verb|webbib.bib|. Si vous désirez néanmoins faire apparaître toute les références de votre bibliographie, c'est-à-dire celle citées dans votre texte et celles qui ne le sont pas, décommentez à la fin du fichier \apath{main.tex} la ligne \lstinline!%\nociteweb{*}!. L'étoile signifie tout les éléments non cités. Faites quelques recherches sur cette commande si vous désirez ne faire apparaître que quelques références non citées.\label{nociteweb}
\section{Index}\index{Index}\label{index}
Il n'est absolument pas nécessaire de réaliser un index pour un travail de maturité\todo[line]{Mettre la procédure pour un index et corriger les entrées.}. La possibilité de le faire a néanmoins été maintenue au cas ou cela s'avèrerait nécessaire pour une raison ou une autre.

View File

@ -11,4 +11,4 @@ vincent@cvgg.org
Dans la mesure du possible, il en sera tenu compte.
\section{Conclusion}
N'hésitez pas à vous lancer dans la rédaction de votre travail de maturité avec \LaTeX. Avec un brin de courage, vous verrez rapidement les immenses bénéfices de votre travail par la qualité du résultat. Ce modèle vous permettra de ne pas trop vous attarder sur le détails techniques qui permettent de composer correctement votre document. Il devrait ainsi vous permettre de gagner du temps.
N'hésitez pas à vous lancer dans la rédaction de votre travail de maturité avec \LaTeX. Avec un brin de courage, vous verrez rapidement les immenses bénéfices de votre travail par la qualité du résultat. Ce modèle vous permettra de ne pas trop vous attarder sur le détails techniques qui font la composition correcte de votre document. Vous gagnerez ainsi beaucoup de temps.

View File

@ -1,67 +0,0 @@
% Attention, ce chapitre sera le chapitre 1,
% contrairement à ce que son nom de fichier pourrait faire penser !
\chapter{Introduction}
\section{Motivations et Objectifs}
\subsection{Motivations}
Désormais l'utilisation de \LaTeX au lycée fait partie des connaissances que doivent acquérir les élèves qui on choisi des options techniques. Si celles-ci sont absolument nécessaire pour ces élèves, en considérant le résultat fourni, d'autres élèves font régulièrement la demande pour pouvoir utiliser \LaTeX pour leur travail de fin d'étude, en Suisse, nommé travail de maturité. Or, leur familiarité avec \LaTeX est parfois trop peu importante pour que ce travail puisse se faire sans un véritable soutient des enseignants.
Force est de constater que la majorité des enseignants en est incapable. Et ce n'est pas dû à \LaTeX uniquement, avec d'autres traitement de texte plus connus, c'est souvent la même chose.
\subsection{Objectifs}
Une solution à ce problème est constitué par le présent travail. Il s'agit d'un modèle de travail de maturité, simplement configurable, permettant de mettre à disposition des élèves ayant des connaissances de base en \LaTeX tous les outils nécessaires pour leur travail.
\section{Organisation}
Pour obtenir la plus grande simplicité possible, le modèle a été conçu autour de trois fichiers.
\begin{enumerate}
\item main.tex
\item TM.sty
\item config.tex
\end{enumerate}
Le premier est simplement destiné à la compilation. Il contient la structure générale du travail. IL ne doit pas être modifié. Le second règle tous les détails techniques. Il se compose essentiellement de code \LaTeX complexe et ne doit pas être modifié. Le dernier est le fichier de configuration du travail. C'est lui qui donne accès au divers outils mis à disposition, tels que titre, préface, nombre de chapitres, postface, index, etc.
\subsection{Documentation}
Le présent texte constitue à la fois la documentation concernant le modèle de travail de maturité et le modèle lui-même. Il contient la plupart des aspects que peut revêtir un travail de maturité et il donne un exemple de texte de travail de maturité à modifier.
\section{Rédaction}
La rédaction du travail de maturité peut donc être réalisée directement à partir d'une copie de l'ensemble des fichiers du projet regroupés dans l'archive TM.zip. Il suffit de la décompresser, de remplir les rubriques du fichier \apath{config.tex} et les différentes pages constituant le travail de maturité comme les chapitres ou les pages annexes. En modifiant progressivement ces fichiers et en compilant au fur et à mesure, on obtient petit à petit le travail de maturité désiré.
Remarquons, que plutôt que d'effacer les instructions se trouvant dans les pages qu'on souhaite modifier, il est recommandé en premier lieu de les commenter à l'aide du signe \% ou pour celles se trouvant sur plusieurs lignes d'utiliser l'environnement de commentaire du code \listingref{listing:commentlong}.
\begin{lstlisting}[float,caption={Le manifeste : manifest.manifest},label={listing:commentlong}]
\begin{comment} ... \end{comment}
\end{lstlisting}
\begin{comment}
\begin{itemize}
\item Formatting conventions:
\begin{itemize}
\item \textbf{Bold} and \textit{italic} are used for emphasis and to signify the first use of a term.
\item \url{Sans Serif} is used for web addresses.
\item \src{Code} is used in all Java code and generally for anything that would be typed literally
when programming, including keywords, constants, method names, and variables, class names, and interface names.
\end{itemize}
\item The present report is divided in Chapters. Chapters are broken down into Sections.
Where necessary, sections are further broken down into Subsections, and Subsections may
contain some Paragraphs.
\item \afigurelabel s, \atablelabel s and \alistinglabel s are numbered inside a chapter. For example, a reference
to
\afigurelabel~\textit{j} of Chapter \textit{i} will be noted \textit{\afigurelabel~i.j}.
\item As far as gender is concerned, I systematically select the feminine when possible.
\item Source code is desplayed as follows:
\end{itemize}
\begin{lstlisting}
Matrix3f rotMat = new Matrix3f();
rotMat.fromAngleNormalAxis( FastMath.DEG_TO_RAD * 45.0f, new Vector3f( 1.0f, 0.0f, 0.0f));
box.setLocalRotation( rotMat );
\end{lstlisting}
\end{comment}

View File

@ -4,9 +4,23 @@
% Il est indispensable de remplir ce fichier !!!!!!!!!
%----------------Version provisoire---------------------------------------------------------
% Par défaut le modèle est en version provisoire. Un filigrane est placé
% en haut à gauche de chaque page, les notes de todo en marges sont activées,
% un rectangle noir se trouve à la fin des lignes trop longues, ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Pour la version finale n'oubliez surtout pas de retirer la mention "draft"
% de la déclaration de documentclass au tout début du fichier main.tex.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%---------------La langue----------------------------------------------------------------
%\newcommand{\lalangue}{francais}
\newcommand{\lalangue}{english}
% Le choix de la langue est très important, car les différents titres de sections vont
% être traduits automatiquement. Cependant, par la suite vous pourrez toujours en donner
% vous même une traduction et l'activer à la place de celle par défaut.
\newcommand{\lalangue}{francais}
%\newcommand{\lalangue}{english}
%\newcommand{\lalangue}{deutch}
%---------------La page de titre---------------------------------------------------------
@ -26,7 +40,7 @@
\newcommand{\theauthor}{Vincent Guyot}
% La date de soumission du travail.
\newcommand{\workdateyear}{2013}
\newcommand{\workdateyear}{20..}
\newcommand{\workdatemonth}{Janvier}
% L'indication pour le mentor
@ -39,16 +53,10 @@
%----------------Le pied de page-----------------------------------------------------------
% Nom de l'école (au choix, vous pouvez aussi en mettre d'autres)
\newcommand{\ecole}{Lycée Blaise-Cendrars}
%\newcommand{\ecole}{Blaise-Cendrars high school}
%\newcommand{\ecole}{Gymnasium Blaise Cendrars}
%\newcommand{\ecole}{Nom de votre école}
% Adresse sur une seule ligne (idem)
\newcommand{\adressedelecole}{La Chaux-de-Fonds (Suisse)}
%\newcommand{\adressedelecole}{La Chaux-de-Fonds (Switzerland)}
%\newcommand{\adressedelecole}{La Chaux-de-Fonds (Schweiz)}
%\newcommand{\adressedelecole}{Adresse de votre école}
% Choisissez si vous faites votre travail en option spécifique, en option complémentaire ou dans les ateliers interdisciplinaires
@ -78,93 +86,107 @@
%---------------Citations, remerciements, acronymes, licence, site officiel, cdrom, index------------
% Pour insérer une page de pensées ou citations : commentez décommentez Y es ou N o.
% Par défaut, il y a une page pouvant contenir des pensées. Décommentez si vous n'en voulez pas.
% Le fichier à remplir du texte désiré est pagesspeciales/citations.tex
\newcommand{\unepensee}{Y}
%\newcommand{\unepensee}{N}
% Pour insérer un préambule/dédicace/remerciements : commentez décommentez Y es ou N o.
% Par défaut, il y a une page pouvant de dédicaces. Décommentez si vous n'en voulez pas.
% Le fichier à remplir du texte désiré est pagesspeciales/remerciements.tex
\newcommand{\unededicace}{Y}
%\newcommand{\unededicace}{N}
% Pour insérer un resumé : commentez décommentez Y es ou N o.
% Par défaut, il y a une page de résumé. Décommentez si vous n'en voulez pas.
% Le fichier à remplir du texte désiré est pagesspeciales/resume.tex
\newcommand{\unresume}{Y}
%\newcommand{\unresume}{N}
% Pour insérer une page d'acronymes : commentez décommentez Y es ou N o.
% Par défaut, il y a une page d'acronymes. Décommentez si vous n'en voulez pas.
% Les acronymes sont à entrer dans le texte par \ac{BBC}
% et le fichier à remplir pour en donner la traduction est pagesspeciales/acronymes.tex
%\newcommand{\unacronyme}{Y}
\newcommand{\unacronyme}{N}
%\newcommand{\unacronyme}{N}
% Pour insérer une licence : commentez décommentez Y es ou N o.
% Le fichier à remplir pour décrire le site est pagesspeciales/website.tex
%\newcommand{\unelicence}{Y}
\newcommand{\unelicence}{N}
% Par défaut, il y a une page de licence. Décommentez si vous n'en voulez pas.
% Le fichier à remplir pour décrire le site est pagesspeciales/licence.tex
%\newcommand{\unelicence}{N}
% Pour insérer une page sur le site officiel du projet : commentez décommentez Y es ou N o.
% Le fichier à remplir pour le texte de la licence est pagesspeciales/licence.tex
%\newcommand{\unsite}{Y}
\newcommand{\unsite}{N}
% Par défaut, il y a une page sur le site du travail. Décommentez si vous n'en voulez pas.
% Le fichier à remplir pour le texte de la licence est pagesspeciales/website.tex
%\newcommand{\unsite}{N}
% Pour insérer une page sur le cdrom officiel du projet : commentez décommentez Y es ou N o.
% Par défaut, il y a une page sur le cdrom du travail. Décommentez si vous n'en voulez pas.
% Le fichier à remplir pour le texte de la licence est pagesspeciales/cdrom.tex
%\newcommand{\uncdrom}{Y}
\newcommand{\uncdrom}{N}
%\newcommand{\uncdrom}{N}
% Pour insérer un index : commentez décommentez Y es ou N o.
% Par défaut, il y a une page d'index. Décommentez si vous n'en voulez pas.
% Il faut alors mettre les clés d'index avec \index{mot} et faire un make index.
%\newcommand{\unindex}{Y}
\newcommand{\unindex}{N}
%\newcommand{\unindex}{N}
% Pour insérer des annexes : commentez décommentez Y es ou N o.
% Vous pouvez alors utiliser la page d'annexes contenue dans le répertoire "chapitre"
% Par défaut, il y a une page d'annexes. Décommentez si vous n'en voulez pas.
% Vous pouvez utiliser la page d'annexes contenue dans le répertoire "chapitre"
% pour y mettre vos annexes.
\newcommand{\lesannexes}{Y}
%\newcommand{\lesannexes}{N}
% Par défaut, il y a une page de notes de fin. Décommentez si vous n'en voulez pas.
%\newcommand{\lesnotesdefin}{N}
%----------------Chapitres------------------------------------------------------------------------------
% Le nombre de chapitres désirés
\newcommand{\nbchap}{3}
\newcommand{\nbchap}{4}
%----------------Annexes------------------------------------------------------------------------------
% Le nombre d'annexes désirées
\newcommand{\nbannexes}{3}
%----------------Listes des figures, tables et listings-------------------------------------------------
% Définition des noms des listes
\renewcommand{\listfigurename}{Liste des figures} % Nom original = Table des figures
\renewcommand{\listtablename}{Liste des tables} % Nom original = Liste des tableaux
\renewcommand{\lstlistlistingname}{Liste des codes sources} % Nom original = Listings
% Définition du titre de la liste des figures.
% Pour insérer une liste des figures : commentez décommentez Y es ou N o.
\newcommand{\unelistefig}{Y}
% Si rien n'est défini, c'est-à-dire si la commande est commentée, c'est le module de gestion des
% langues babel qui choisit la traduction, sauf pour le français où le choix s'est porté sur :
% "Liste des figures" au lieu de "Table des figures" proposé par babel.
% Si la traduction ne vous convient pas, vous pouvez mettre ce
% que vous voulez pour la liste des figures. La commande doit alors être décommentée.
%\newcommand{\titrelistedesfigures}{Liste des figures} % Car nom babel = Table des figures
% Définition du titre de la liste des tableaux.
% Si rien n'est défini, c'est-à-dire si la commande est commentée, c'est le module de gestion des
% langues babel qui choisit la traduction.
% Mais si la traduction ne vous convient pas, vous pouvez mettre ce que vous voulez pour la liste
% des tableaux. La commande doit alors être décommentée.
%\newcommand{\titrelistedestables}{Liste des tables}
% Définition du titre de la liste des codes source.
% Si rien n'est défini, c'est-à-dire si la commande est commentée, les traductions sont :
% Liste des codes sources, Listings, Liste der Quellcodes.
% Mais si la traduction ne vous convient pas, vous pouvez mettre ce que vous voulez pour la liste
% des codes sources. La commande doit alors être décommentée.
%\newcommand{\titrelistedescodes}{Liste des codes sources}
% Définition du titre des notes finales.
% Si rien n'est défini, c'est-à-dire si la commande est commentée, les traductions sont :
% Notes finales, Endnotes, Endenoten.
% Mais si la traduction ne vous convient pas, vous pouvez mettre ce que vous voulez pour la liste
% des codes sources. La commande doit alors être décommentée.
%\newcommand{\titrelistedesnotesdefin}{\textnormal{Liste des notes}}
% Par défaut, il y a une liste des figures. Décommentez si vous n'en voulez pas.
%\newcommand{\unelistefig}{N}
% Pour insérer une liste des crédits photographiques : commentez décommentez Y es ou N o.
\newcommand{\unelistecredits}{Y}
% Par défaut, il y a une liste des crédits. Décommentez si vous n'en voulez pas.
%\newcommand{\unelistecredits}{N}
% Pour insérer une liste des tables : commentez décommentez Y es ou N o.
%\newcommand{\unelistetbl}{Y}
\newcommand{\unelistetbl}{N}
% Par défaut, il y a une liste des tables. Décommentez si vous n'en voulez pas.
%\newcommand{\unelistetbl}{N}
% Pour insérer une liste des listings : commentez décommentez Y es ou N o.
%\newcommand{\unelistelst}{Y}
\newcommand{\unelistelst}{Y}
% Par défaut, il y a une liste des codes sources. Décommentez si vous n'en voulez pas.
%\newcommand{\unelistelst}{N}
%----------------Flottants-------------------------------------------------------------
% Définitions des titres des figures, tables, listings...
% Définitions des préfixes des préfixes des références aux figures, tables et listings.
% Par exemple : ... voir FIGURE 3.1 où FIGURE 3.1 est mis automatiquement et traduit en
% fonction de la langue.
% English: Figure, Table, Listing (default)
% German: Abbildung, Tabelle, Listing
% French: Figure, Table, Listing
\renewcommand{\figurename}{Figure}
\renewcommand{\tablename}{Table}
\renewcommand{\lstlistingname}{\textsc{Code}}
% Aucun préfixe n'est mis pour permettre des références du type :
% ... voir figures 3.1, 3.2 et 3.3. Ici seuls les numéros sont des références.
%----------------Figures----------------------------------------------------------------
@ -185,14 +207,14 @@
%\lstloadlanguages{HTML,PHP,TeX}
% Il faut ensuite placer [...,language=HTML,...] après l'appel \begin{lstlisting} pour définir
% le language à utiliser dans un script particulier
% Aussi on peut mettre du code latex pour référencer le numéro des lignes. Il faut alors avoir
% recours à un caractère d'échappement sur le modèle suivant :
% \lstloadlanguages{Python}
% \lstset{language=Python,escapechar=|}
% Après le caractère d'échappement, on peut alors placer une commande \label{} de référencement
% qui permet d'avoir accès au numéro de la ligne dans le texte via \ref{}.
\lstloadlanguages{TeX}
%----------------Version provisoire---------------------------------------------------------
% Si vous travaillez avec une version provisoire, cette commande imprime un filigrane
% en haut à gauche de chaque page. Commentez la pour la version finale.
%\reviewtimetoday{\today}{* Draft Version *}
%----------------Le texte-------------------------------------------------------------------
% Réglage de l'indentation de la première ligne de chaque paragraphe

View File

@ -29,7 +29,14 @@
% configurations possible sous TexMaker, voyez la documentation dans le
% répertoire du même nom.
\documentclass[12pt,a4paper,idxtotoc,bibtotoc,francais,titlepage,twoside,openright]{book}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ATTENTION l'option draft est activée par défaut. Pour le document final, commentez la ligne
% suivante et décommentez celle du dessous pour retirer l'option draft.
% Plusieurs éléments de présentation aidant à la rédaction seront alors retirés (filigrane, notes de todo, repère de lignes trop longues, ...)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt,a4paper,idxtotoc,bibtotoc,francais,titlepage,twoside,openright,draft]{book}
%\documentclass[12pt,a4paper,idxtotoc,bibtotoc,francais,titlepage,twoside,openright]{book}
%------ DÉBUT DU PRÉAMBULE --------
@ -39,7 +46,7 @@
\usepackage{TM}
% Initialisation des paramètres du travail de maturité
% Il faut impérativement remplir ce fichier
% Il faut impérativement remplir ce fichier, c'est-à-dire le fichier config.tex
\include{config}
% Les ressources web sont définies dans une bibliographie à part.
@ -51,11 +58,14 @@
% ***** DÉBUT DU DOCUMENT *****
% ----- DÉBUT DE LA PRÉFACE -----
\begin{document}
\frontmatter
% Choix de la langue
\choixdelalangue
% Inclusion du titre de la page.
% Permet l'inclusion d'un indication de version provisoire
\draftoufinal
% Inclusion de la page de titre.
\include{pagesspeciales/pagetitre}
% Une citation ou pensée,
@ -92,22 +102,33 @@
% ----- FIN DE LA PRÉFACE -----
% ----- DÉBUT DU CORPS DU DOCUMENT -----
\mainmatter
\addtolength{\parskip}{0.25\baselineskip} % espace inter-paragraphe
\include{chapitres/introduction}
\leschapitres
\include{chapitres/conclusion}
% ----- FIN DU CORPS DU DOCUMENT -----
% ----- DÉBUT DES ANNEXES -----
\appendix
% Si nécessaire, les annexes sont placées ici.
\annexes
% ----- FIN DES ANNEXES -----
%\pagenumbering{arabic}
% ----- FIN DU CORPS DU DOCUMENT -----
\backmatter
\pagestyle{laposteface}
% Éventuelles notes de fin de document
\notesdefin
% Liste des acronymes.
\acronyme
% Ici est incluse la licence du travail. C'est la GFDL.
@ -134,22 +155,23 @@
% Ici se trouvent les ressources web, en style plain.
\bibliographystyleweb{plain}
\bibliographyweb{webbib}
\cleartooddpage
% Ici se trouvent les crédits photographiques
\listecredits
% Éventuelles notes de fin de document
%\theendnotes
% Si nécessaire, l'index est placé ici.
\lindex
% Si nécessaire, les annexes sont placées ici.
\annexes
\pagestyle{videavecpage}
\newpage
\strut% ou ~ ou \mbox{} ou \null
\newpage
% ----- FIN DES ANNEXES -----
\pagebreak
\pagenumbering{arabic}
\pagestyle{videsanspage}
\newpage
\strut% ou ~ ou \mbox{} ou \null
\newpage
\end{document}
% ***** FIN DU DOCUMENT *****

View File

@ -1,27 +1,3 @@
\chapter{CD-ROM}\label{cdrom}
Sur le CD-ROM présenté à la figure \ref{actual_cdrom} du projet Turn, vous trouverez une structure de type \squote{Subversion}\footnote{Un changement de serveur au lycée impliquant une réinstallation de Subversion ne me permet pas actuellement d'y avoir accès.} qui contient :
\begin{itemize}
\item le code source et
\item la documentation de Turn
\end{itemize}
La figure \ref{tree_view} fournit une image de la structure du CD-ROM,
Le contenu du CD-ROM ne peut pas encore être téléchargé depuis le site de Turn (voir \ref{appendix_website}). Mais, rapidement cela devrait être possible étant donné les exigences de la licence GPL choisie.
L'arbre ci-dessous constitue la structure du CD-ROM fourni.
\smallskip
Dans le répertoire \verb|fr| se trouvent tous les fichiers nécessaires pour la compilation en \LaTeX du présent document. Ils sont très nombreux. D'autre part la compilation peut être complexe étant donné la présence de deux types de bibliographies qui m'a obligé à utiliser \verb|bibtex| en mode console sur le fichier \verb|web|. Quelques avertissement persistent sans qu'il ait été nécessaire de les éliminer.
\smallskip
Dans le répertoire \verb|Turn| se trouvent tous les fichiers nécessaires à l'application. Vous y trouverez aussi une sauvegarde de la base de donnée. Si vous désirez réinstaller Turn, sachez cependant que les utilisateur, mot de passe et nom de la base ont été effacés. Il subsiste aussi quelques fichiers non utilisés mais qui pourraient l'être à nouveau par la suite, raison de leur présence.
%TODO: update the tree-view...
\begin{figure}
\centering
\verbatimtabinput{figures/content_cdrom.txt}
\caption{Vue du contenu du CD-ROM}
\label{tree_view}
\end{figure}
\tmfigureN{cdrom}{Le CD-ROM du projet Turn}{actual_cdrom}
Sur le CD-ROM présenté à la figure ...

View File

@ -5,9 +5,4 @@
\squote{Imaginez un monde dans lequel chaque personne pourrait partager librement l'ensemble des connaissances humaines.}\\
\vspace{0.2cm}
\textit{- Jimmy Wales. Fondateur de Wikipedia.}
\end{flushright}
\vspace*{5cm}
\begin{center}
\textit{J'aimerais ici remercier toute ma famille \dots}
\end{center}
\end{flushright}

View File

@ -1,4 +1,5 @@
\chapter{Licence de la documentation}
\chapter{Licence}
Copyright (c) \workdateyear~\theauthor.
\smallskip

View File

@ -26,13 +26,13 @@
\vspace{0.2cm}
\end{Large}
\begin{large}
{\workdate}
\ifdraft{\today}{\workdate}
\end{large}
~
\\[2.5cm]
\textbf{\supervisorslabel}:\\
\textbf{\supervisorslabel}\\
\vspace{0.2cm}
\worksupervisors
\vspace*{1.5cm}

View File

@ -1,41 +1,3 @@
\chapter{Page web du projet}\label{appendix_website}
La page web officielle de ce projet est: \apath{http://www.cvgg.org/Turn/index.html}.
\section{Remarques}
Attention, la détection du mode en ligne n'est pas encore pleinement fonctionnelle. Parfois elle se trompe. Si vous constatez un message vous informant que vous êtes en ligne et que vous savez ne pas l'être, rechargez simplement la page et vous devriez passer hors ligne.
Par ailleurs, pour avoir du vocabulaire enregistré hors ligne, il faut en faire le choix préalablement en ligne. Commencez donc par utiliser Turn en ligne une première fois complètement. Puis, testez le mode hors ligne.
Vous trouverez ci-dessous des captures d'écran présentant le fonctionnement de Turn. Par contre, aucune capture de la page officielle du site, puisqu'il n'y en a pas encore.
Deux comptes spécifiques pour MM. Pasquier et Kosmaczewski ont été créés. Leur identifiant est leur nom tel qu'écrit ici et leur mot de passe transmis par mail.
\section{Captures d'écran}
Voici une série de captures d'écran couvrant l'ensemble des pages du projet Turn. Elles ont été prises avec Gimp sous Firefox. Pour ne pas alourdir le texte, j'ai donné des références à ces captures dans le texte plutôt que de les y placer. La légende de chaque figure correspond au nom de la page sans son extension. Pour en comprendre la succession, il faut se référer à la figure \ref{fig:seqonline} de la page \pageref{fig:seqonline}.
\medskip
Les figures suivantes présentent :
\begin{description}
\item[\ref{fig:pageindex}] la page d'accueil.
\item[\ref{fig:pageconnection}] la page d'authentification.
\item[\ref{fig:pageonline}] la page du choix d'un nouveau ou d'un test enregistré.
\item[\ref{fig:pagetestsEnregistres}] l'ensemble des tests enregistrés en ligne (au moment de la capture d'écran).
\item[\ref{fig:pagenouveauTest}] le choix du répertoire.
\item[\ref{fig:pagechoixTypeSelection}] les choix de la sélection (page/chapitre) et du type (normal/inverse) de test.
\item[\ref{fig:pageselection}] les chapitres ou pages disponibles.
\item[\ref{fig:pageTest}] la carte de test.
\item[\ref{fig:pageoffline}] l'ensemble des tests enregistrés hors ligne (au moment de la capture d'écran).
\end{description}
Sur la page d'accueil apparaît encore une alerte permettant de connaître le mode de connection déterminé par Turn. Cette alerte persiste car Turn se trompe parfois. Comme je n'ai pas encore bien résolu le problème de la détection de la connectivité, j'ai maintenu l'alerte pour permettre, le cas échéant, de savoir s'il faut recharger la page d'accueil pour forcer un autre choix que celui fait par Turn.
\tmfigureN{index}{index.html}{fig:pageindex}
\tmfigureN{connection}{connection.html}{fig:pageconnection}
\tmfigureN{online2}{online.php}{fig:pageonline}
\tmfigureN{testsEnregistres}{testsEnregistres.php}{fig:pagetestsEnregistres}
\tmfigureN{nouveauTest}{nouveauTest.php}{fig:pagenouveauTest}
\tmfigureN{choixTypeSelection}{choixTypeSelection.php}{fig:pagechoixTypeSelection}
\tmfigureN{selection}{selection.php}{fig:pageselection}
\tmfigureN{Test}{Test.php}{fig:pageTest}
\tmfigureN{offline}{offline.html}{fig:pageoffline}
La page web officielle de ce projet est: \apath{http://www. ...}.