diff --git a/commonPreamble.sty b/commonPreamble.sty index 0cc5550..e708663 100644 --- a/commonPreamble.sty +++ b/commonPreamble.sty @@ -33,24 +33,21 @@ % Pour rajouter ces fameuses sous sections \usepackage[compact]{titlesec} \usepackage{titletoc} -% Pour styler les chapitres -% Je préfère la Glenn car elle est assez agréable pour tout (y compris la bibliographie) -\usepackage[Glenn]{fncychap} -% Pour éviter que les chapitres prennent trop de place -% https://tex.stackexchange.com/a/174539/129702 -\usepackage{etoolbox} % provides macros for patching macros +% Pour éviter que les chapitres prennent trop de place + style \makeatletter - \patchcmd{\@makechapterhead}{50\p@}{0\p@}{}{} - \patchcmd{\@makeschapterhead}{50\p@}{0\p@}{}{} -\makeatother -% Pour réduire l'espace après les chapitres -% https://tex.stackexchange.com/a/111645/129702 -% TODO on peut adapter selon les besoins -\makeatletter - \patchcmd{\DOTI}{\vskip 80\p@}{\vskip 40\p@}{}{} - \patchcmd{\DOTIS}{\vskip 40\p@}{\vskip 0\p@}{}{} + \titleformat{\chapter}[frame] + {\normalfont} + { \filright + \MakeUppercase{\chaptertitlename}\ + \thechapter + \enspace + } + {0.5em} + {\Large\filleft\textsc} + \titlespacing*{\chapter}{0pt}{25pt}{25pt} \makeatother + % Créer un semblant d'itemize \newcommand{\tabitem}{~~\llap{\textbullet}~~} @@ -63,6 +60,7 @@ a4paper, % A voir ce qu'on choisit : j'ai pris au pif left=2cm, + right=2cm, top=0.5cm, } @@ -293,6 +291,11 @@ literate=% \makeatother +% Pour la toc +\usepackage[toc]{multitoc} +\renewcommand*{\multicolumntoc}{2} +\setlength{\columnseprule}{0.5pt} + % Pour ignorer des figures / tables des tables % C'est uniquement pour les annexes, pour ne pas polluer le tout % \captionsetup{list=no} pour cacher diff --git a/images/serveur/doc_example.PNG b/images/serveur/doc_example.PNG index 62a8c3c..dd580b6 100644 Binary files a/images/serveur/doc_example.PNG and b/images/serveur/doc_example.PNG differ diff --git a/sections/annexes/analyseBibliographique/index.tex b/sections/annexes/analyseBibliographique/index.tex index 239d7a5..2191eea 100644 --- a/sections/annexes/analyseBibliographique/index.tex +++ b/sections/annexes/analyseBibliographique/index.tex @@ -1,13 +1,17 @@ \includepdf[ - pages=1, - pagecommand=\chapter{Analyse Bibliographique}\label{annexe:AnalyseBiblio}, - offset=0 -1cm, - scale=0.8 + pages={1}, + offset=0cm -1cm, + width=\textwidth, + pagecommand={ + \fboxrule0.4pt + \chapter{Analyse Bibliographique} + \label{annexe:AnalyseBiblio} + }, ]{sections/annexes/analyseBibliographique/Analyse_Bibliographique.pdf} + \includepdf[ pages=2-, - pagecommand={}, - width=1.2\textwidth, + width=\textwidth, % To have items into list of figures / tables / listings % WARNING : As explained by the doc, this option is experimental (it MAY change but I don't think so : many people used that) % SECOND WARNING : the page number argument is the real position from starting point !! diff --git a/sections/annexes/index.tex b/sections/annexes/index.tex index 14715c4..4b28e75 100644 --- a/sections/annexes/index.tex +++ b/sections/annexes/index.tex @@ -1,18 +1,3 @@ -% On imprime une table des figures / tables pour mieux naviguer ici -\begingroup - \let\clearpage\relax - % prints appendices list of figures - \printlist[appendices]{lof}{}{ - \chapter*{\listfigurenameappendixes} - } - % prints appendices list of tables - \printlist[appendices]{lot}{}{ - \chapter*{\listtablenameappendixes} - } - % prints appendices list of tables listings - \listofappendixlistings -\endgroup - \import{sections/annexes/problematique/}{index} \pagebreak \import{sections/annexes/analyseBibliographique/}{index} diff --git a/sections/annexes/problematique/index.tex b/sections/annexes/problematique/index.tex index a861097..d44e88f 100644 --- a/sections/annexes/problematique/index.tex +++ b/sections/annexes/problematique/index.tex @@ -10,7 +10,7 @@ \section{Practice-it} \end{figure} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.6\textheight,keepaspectratio]{images/comparison/practice-it-2.png} + \includegraphics[width=\textwidth,height=0.56\textheight,keepaspectratio]{images/comparison/practice-it-2.png} \centering \caption[Practice-it : page d'un problème]{Page d'un problème} \end{figure} @@ -24,19 +24,19 @@ \section{Practice-it} \section{Hackerrank} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/comparison/hacker-1.png} + \includegraphics[width=\textwidth,height=0.42\textheight,keepaspectratio]{images/comparison/hacker-1.png} \centering \caption[Hackerrank : tableau de bord]{Tableau de bord} \end{figure} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/comparison/hacker-2.png} + \includegraphics[width=\textwidth,height=0.42\textheight,keepaspectratio]{images/comparison/hacker-2.png} \centering \caption[Hackerrank : page pour rechercher un problème]{Page pour rechercher un problème} \end{figure} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/comparison/hacker-3.png} + \includegraphics[width=\textwidth,height=0.55\textheight,keepaspectratio]{images/comparison/hacker-3.png} \centering \caption[Hackerrank : page d'un challenge]{Page d'un challenge} \end{figure} @@ -56,7 +56,7 @@ \section{Leetcode} \end{figure} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/comparison/leetcode-3.png} + \includegraphics[width=\textwidth,height=0.30\textheight,keepaspectratio]{images/comparison/leetcode-3.png} \centering \caption[Leetcode : page d'un problème]{Page d'un problème} \end{figure} diff --git a/sections/chapters/cahierDesCharges/index.tex b/sections/chapters/cahierDesCharges/index.tex index feaae79..66ec58c 100644 --- a/sections/chapters/cahierDesCharges/index.tex +++ b/sections/chapters/cahierDesCharges/index.tex @@ -21,6 +21,7 @@ \subsection*{Les différents types d'utilisateurs} \item \textbf{Super Administrateur} : Celui-ci dispose du droit de supprimer de manière définitive les différentes ressources de notre plateforme (y compris les \glspl{tag} et \glspl{tagCat}). \end{itemize} +\pagebreak \subsection*{Fonctionnalités} Pour réaliser les défis expliqués à la section \ref{section:challengesToDefeat}, il convient de faire l'inventaire des nombreuses fonctionnalités à réaliser de manière formelle. diff --git a/sections/chapters/problematique/index.tex b/sections/chapters/problematique/index.tex index bd2133b..13dcc65 100644 --- a/sections/chapters/problematique/index.tex +++ b/sections/chapters/problematique/index.tex @@ -40,7 +40,7 @@ \section{Situation actuelle} \end{table} Avant d'aller plus loin, nous tenons à mentionner l'outil \href{https://oer.uclouvain.be/}{OER UCLouvain} hors du champ de notre analyse. En effet, notre projet est une version simplifiée de leur application, car nous ne traitons qu'un seul domaine des \gls{oer} : les \glspl{resinfo}. Par conséquent, le système de recherche que le site propose ne correspond pas à la vision que nous avons pour notre type de plateforme étant donné qu'il est beaucoup plus complexe que ce que nous voulons mettre en place : Un catalogue de \glspl{resinfo}. Néanmoins, nous avons pu discuter avec \textit{Christine Jacqmot}, membre du \textit{Louvain Learning Lab}, afin de lui présenter notre projet et de voir comment se comporte l'outil \href{https://oer.uclouvain.be/}{OER UCLouvain} côté administration. Ses conseils nous ont aidé à améliorer notre prototype et dans le cas échéant, à rajouter dans le chapitre \ref{chapter:pourAllerPlusLoin} des précieuses pistes d'améliorations. - +\pagebreak \subsection*{Practice-it} \href{https://practiceit.cs.washington.edu/problem/list}{Practice-it} est une plateforme permettant de résoudre des problèmes en Java en ligne. Comme le site le relate : \textit{la plupart des problèmes viennent des cours d'introduction en Java de l'université de Washington}. @@ -246,7 +246,7 @@ \section{Problème} \label{figure:patchwork} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.4\textheight,keepaspectratio]{images/filters.JPG} + \includegraphics[width=\textwidth,height=0.45\textheight,keepaspectratio]{images/filters.JPG} \centering \caption{Représentation du système de filtres avec les \glspl{tag}} \end{figure} @@ -254,7 +254,7 @@ \section{Problème} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.4\textheight,keepaspectratio]{images/resource.JPG} + \includegraphics[width=\textwidth,height=0.45\textheight,keepaspectratio]{images/resource.JPG} \centering \caption{Page d'une \gls{fiche}} \end{figure} diff --git a/sections/chapters/solution/api/index.tex b/sections/chapters/solution/api/index.tex index 473bc6f..49f327b 100644 --- a/sections/chapters/solution/api/index.tex +++ b/sections/chapters/solution/api/index.tex @@ -47,7 +47,7 @@ \subsubsection{Paramétrisation de l'\Gls{api}} Comme révélé en section \ref{section:AnalyseNonFonctionnelle}, il convient d'accorder un certain contrôle aux utilisateurs finaux. Une manière de configurer une telle application est d'utiliser des \glspl{envvar}, qui permettent, contrairement à d'autres approches (comme les fichiers de configuration \textbf{JSON}, \textbf{YAML}, ...), -de changer de valeur directement, sans éteindre/redémarrer l'application par exemple. \\ +de changer de valeur directement, sans éteindre/redémarrer l'application. \\ Nous avons accordé les possibilités suivantes (la liste détaillée des \glspl{envvar} est disponible dans le fichier README.MD) : @@ -76,7 +76,7 @@ \subsubsection{Documentation de l'\Gls{api}} \end{itemize} \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.44\textheight,keepaspectratio]{images/serveur/doc_example.png} + \includegraphics[width=\textwidth,height=0.40\textheight,keepaspectratio]{images/serveur/doc_example.png} \centering \caption{Exemple de documentation \textbf{HTML} générée sur base de fichiers \Gls{oas}} \label{fig:exampleDoc} diff --git a/sections/chapters/solution/choixTechno/index.tex b/sections/chapters/solution/choixTechno/index.tex index 7efe096..5acc7a7 100644 --- a/sections/chapters/solution/choixTechno/index.tex +++ b/sections/chapters/solution/choixTechno/index.tex @@ -12,7 +12,7 @@ \subsection*{Choix de l'environnement de programmation} Node.js nous permet désormais, à l'instar du PHP, d'écrire du code JavaScript du côté serveur qui servira à répondre aux requêtes du client, tout en bénéficiant des avantages du JavaScript. \\ \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.24\textheight,keepaspectratio]{images/choixTechnologiques/SchemaNodejs.png} + \includegraphics[width=\textwidth,height=0.3\textheight,keepaspectratio]{images/choixTechnologiques/SchemaNodejs.png} \centering \caption[Du JavaScript aussi bien côté serveur que client]{Du JavaScript aussi bien côté serveur que client~\cite{NodejsIllustrations}} \label{pic:WhatIsNodeJs} @@ -20,9 +20,11 @@ \subsection*{Choix de l'environnement de programmation} Deux points sont élémentaires pour expliquer l'intérêt et la rapidité de Nodejs : le moteur JavaScript V8 et son fonctionnement non bloquant. \\ +\pagebreak + Ce moteur, développé par Google, très performant et optimisé propose la compilation à la volée (en anglais, JIT , just-in-time compilation) , approche hybride entre la compilation et l'interprétation, dont nous pouvons schématiser leur mode de fonctionnement individuel par la figure suivante : \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.2\textheight,keepaspectratio]{images/choixTechnologiques/compilationVSinterpretation.png} + \includegraphics[width=\textwidth,height=0.25\textheight,keepaspectratio]{images/choixTechnologiques/compilationVSinterpretation.png} \centering \caption{Compilation et interprétation - mode de fonctionnement} \end{figure} @@ -39,7 +41,7 @@ \subsection*{Choix de l'environnement de programmation} Dans un mode de fonctionnement bloquant, il convient d'attendre la fin de ces taches avant de réaliser autre chose. Ceci est un gâchis dans la mesure où des tâches moins gourmandes en temps sont ainsi bloquées. Node.js permet, par son mode de fonctionnement non bloquant, des gains de performances, comme illustré ci-dessous. \begin{figure}[H] - \includegraphics[width=\textwidth,height=0.19\textheight,keepaspectratio]{images/choixTechnologiques/ComparaisonBloquantOuNon.png} + \includegraphics[width=\textwidth,height=0.25\textheight,keepaspectratio]{images/choixTechnologiques/ComparaisonBloquantOuNon.png} \centering \caption[Bloquant/non bloquant : un exemple pour l'illustrer]{Bloquant/non bloquant : un exemple pour l'illustrer~\cite{NodejsIllustrations}} \label{pic:BloquantOrNot} diff --git a/sections/chapters/solution/client/index.tex b/sections/chapters/solution/client/index.tex index 29cba4f..316ff6c 100644 --- a/sections/chapters/solution/client/index.tex +++ b/sections/chapters/solution/client/index.tex @@ -25,6 +25,8 @@ \section{Client} L'URL \textit{/administration} contient les fonctionnalités exigeant le plus haut niveau de privilèges sur \texttt{SourceCode}. Cette partie est donc entièrement dédiée aux administrateurs et super-administrateurs. Ils peuvent gérer absolument toutes les \glspl{resinfo} disponibles sur la plateforme (impliquant aussi la modification et création de celles-ci), l'importation/exportation de \glspl{resinfo}, la gestion/création/modification de \glspl{tag}, la gestion/création/modification des \glspl{tagCat} et finalement la gestion des utilisateurs de la plateforme.\\ +\pagebreak + L'URL \textit{/tutoriel} concerne un aspect plus ludique de \texttt{SourceCode}. À travers différentes pages, une thématique de l'application est décortiquée afin que l'utilisateur puisse améliorer sa prise en main avec la plateforme.\\ Avant d'aller plus loin, considérez la section \ref{section:challengesToDefeat} afin de vous remettre en tête ce que nous voulions apporter à \texttt{SourceCode}. @@ -52,6 +54,8 @@ \subsection{Connexion et création de comptes} Lorsque l'utilisateur possède déjà un compte, il lui suffit de renseigner son adresse email et son mot de passe. Pour l'instant, une session d'une heure lui sera attribuée pour gérer ses ressources, favoris, ... Après quoi il sera redirigé vers la page de login pour entrer à nouveau ses identifiants. Ce comportement est bien évidemment modifiable depuis l'api (cf. section \ref{section:apiConfig}), mais nous avions surtout choisi ce timing pour la séance de validation de notre plateforme (cf. \ref{annexe:googleForm}).\\ +% Pour fill un peu l'espace et être moins condensé +\vspace{20mm} %5mm vertical space \subsection{Exercices} diff --git a/sections/tables.tex b/sections/tables.tex deleted file mode 100644 index a1ad999..0000000 --- a/sections/tables.tex +++ /dev/null @@ -1,29 +0,0 @@ -% Table des matières -\tableofcontents -% Le chiffre est mauvais : je vais le désactiver pour l'instant -%\addcontentsline{toc}{chapter}{\contentsname} - -% Pourquoi les 3 autres tables ? Plusieurs raisons : -% - Permettre de plus rapidement disposer des ressources nécessaires lors de la défense orale -% - Facilite la lecture rapide ( oui les lecteurs sont généralement peu enclin à lire trop et cherchent à voir direct comment est structuré le tout ) - -% Par défaut, on ne va les afficher dans la toc : cela risque d'être redondant avec "Tables des matières" -% Pour désactiver les sauts de pages pour ces tables -\pagebreak -\begingroup - \let\clearpage\relax - % prints main list of figures - \printlist[main]{lof}{}{ - \chapter*{\listfigurename} - } - % prints main list of tables - \printlist[main]{lot}{}{ - \chapter*{\listtablename} - } - % TODO trouver un moyen de restreindre celui-là - \lstlistoflistings -\endgroup - - -% Rappel sur les différentes possibilités de structures -% https://www.overleaf.com/learn/latex/Sections_and_chapters \ No newline at end of file diff --git a/sections/tablesAnnexes.tex b/sections/tablesAnnexes.tex new file mode 100644 index 0000000..d4ec585 --- /dev/null +++ b/sections/tablesAnnexes.tex @@ -0,0 +1,28 @@ +% On imprime une table des figures / tables pour mieux naviguer ici +\begingroup + \let\clearpage\relax + % Temporary reduce size of headers, to fit all of this on one page + \makeatletter + \titleformat{\chapter}[frame] + {\normalfont} + { \filright + \MakeUppercase{\chaptertitlename}\ + \thechapter + \enspace + } + {0.5em} + {\bfseries\filleft} + \titlespacing*{\chapter}{0pt}{0pt}{20pt} + \makeatother + + % prints appendices list of figures + \printlist[appendices]{lof}{}{ + \chapter*{\listfigurenameappendixes} + } + % prints appendices list of tables + \printlist[appendices]{lot}{}{ + \chapter*{\listtablenameappendixes} + } + % prints appendices list of tables listings + \listofappendixlistings +\endgroup \ No newline at end of file diff --git a/sections/tablesMain.tex b/sections/tablesMain.tex new file mode 100644 index 0000000..e9fdb64 --- /dev/null +++ b/sections/tablesMain.tex @@ -0,0 +1,13 @@ +\begingroup + \let\clearpage\relax + % prints main list of figures + \printlist[main]{lof}{}{ + \chapter*{\listfigurename} + } + % prints main list of tables + \printlist[main]{lot}{}{ + \chapter*{\listtablename} + } + % print main listings + \lstlistoflistings +\endgroup \ No newline at end of file diff --git a/structure.tex b/structure.tex index bba2c1f..49445c0 100644 --- a/structure.tex +++ b/structure.tex @@ -14,8 +14,8 @@ \startlist[main]{lof}% starts main list of figures \startlist[main]{lot}% starts main list of tables -% Table des matières + autres tables -\import{sections/}{tables} +% Table des matières +\tableofcontents % Le glossaire % Pour forcer l'affichage de tout ( mais pas idéal car cela n'affiche pas les bonnes pages pour les termes ): https://tex.stackexchange.com/a/492011/129702 @@ -72,4 +72,10 @@ \chapter{Conclusion} % Stop partial lists \stoplist[appendices]{lof}% stops main list of figures -\stoplist[appendices]{lot}% stops main list of tables \ No newline at end of file +\stoplist[appendices]{lot}% stops main list of tables + +% Tables des figures / tables / extraits de code [PRINCIPALE] +\import{sections/}{tablesMain} +\pagebreak +% Tables des figures / tables / extraits de code [ANNEXES] +\import{sections/}{tablesAnnexes} \ No newline at end of file