mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 14:13:21 +00:00
Add first slides and continue report
This commit is contained in:
parent
2ed566b75c
commit
3cac563389
Binary file not shown.
@ -60,14 +60,20 @@ Lo-J (Guillaume Renaud)}
|
|||||||
|
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
|
||||||
\chapter{Remerciements}
|
\chapter*{Remerciements}
|
||||||
\section{Lo-J (Guillaume RENAUD)}
|
\section*{Lo-J (Guillaume RENAUD)}
|
||||||
\par Je remercie tout d’abord Monsieur Frédéric Lassabe qui nous a permis d’effectuer cette TO52 lors de notre cursus à l’UTBM, nous permettant ainsi de mêler nôtre travail scolaire à nôtre envie de participer à l’amélioration de la vie associative de l’UTBM.
|
\par Je remercie tout d’abord Monsieur Frédéric Lassabe qui nous a permis d’effectuer cette TO52 lors de notre cursus à l’UTBM, nous permettant ainsi de mêler nôtre travail scolaire à nôtre envie de participer à l’amélioration de la vie associative de l’UTBM.
|
||||||
|
|
||||||
\par Je tiens aussi à remercier Florent Jacquet qui m’a aidé tout au long de ce travail et à qui j’ai pu poser mes différentes questions pour apprendre et comprendre plus rapidement que si j’avais été seul.
|
\par Je tiens aussi à remercier Florent Jacquet qui m’a aidé tout au long de ce travail et à qui j’ai pu poser mes différentes questions pour apprendre et comprendre plus rapidement que si j’avais été seul.
|
||||||
|
|
||||||
|
|
||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
|
\par Après le développement de la base du nouveau site de l'AE, le projet \textsc{Sith}, au Printemps 2016, la mise en
|
||||||
|
production a pu avoir lieu avec succès fin Août 2016.
|
||||||
|
|
||||||
|
\par Mais le site était encore très incomplet, et il était nécessaire d'y ajouter un grand nombre de fonctionnalités
|
||||||
|
moins critiques, celles-ci n'ayant pas de rapport avec l'argent, mais tout de même très utiles pour le fonctionnement
|
||||||
|
de l'AE.
|
||||||
|
|
||||||
\chapter{Eboutic}
|
\chapter{Eboutic}
|
||||||
\label{sec:eboutic}
|
\label{sec:eboutic}
|
||||||
@ -87,10 +93,39 @@ Lo-J (Guillaume Renaud)}
|
|||||||
|
|
||||||
\subsection{Interaction avec l'API}
|
\subsection{Interaction avec l'API}
|
||||||
\label{sub:interaction_avec_l_api}
|
\label{sub:interaction_avec_l_api}
|
||||||
|
\par C'est la principale contrainte de cette application. On doit interagir avec les serveurs du Crédit Agricole, et
|
||||||
|
pour cela, ces derniers n'aident pas beaucoup.
|
||||||
|
|
||||||
|
\par Ils fournissent un PDF peu clair\footnote{disponible dans le dossier \url{doc/Etransaction/} des sources du site}
|
||||||
|
expliquant l'implémentation d'un site marchand, en plus des nombreux autres PDF de documentation disponibles à l'adresse
|
||||||
|
\url{https://e-transactions.avem-groupe.com/pages/global.php?page=telechargement}.
|
||||||
|
|
||||||
|
\par Une implémentation de référence uniquement en PHP, et contenant que peut de fonctionnalités par rapport à ce
|
||||||
|
que dit le PDF peut aussi être obtenue, mais n'est guère utile excepté pour la vérification cryptographique de la
|
||||||
|
signature de la réponse. Mais encore, il faut arriver à traduire les fonctions propres à PHP, et ce n'est pas toujours
|
||||||
|
une mince affaire, mais fort heureusement, les algorithmes sont encore assez standards et l'on trouve vite de l'aide
|
||||||
|
quant à ces fonctions.
|
||||||
|
|
||||||
|
\par De plus, certaines informations concernants les numéros d'identification de marchand son incohérents
|
||||||
|
d'une documentation à l'autre, et le plus simple à ce niveau est encore de contacter le support.
|
||||||
|
|
||||||
\subsection{Accès concurrentiels}
|
\subsection{Accès concurrentiels}
|
||||||
\label{sub:acces_concurrentiels}
|
\label{sub:acces_concurrentiels}
|
||||||
|
\par En production, le projet Sith tourne à l'aide d'uWSGI, qui s'occupe lui de gérer les différents processus du
|
||||||
|
logiciel. Cela se traduit par des accès concurrentiels à la base de donnée lors de l'appel de deux pages simultanément
|
||||||
|
qui ont besoin d'accèder aux mêmes ressources.
|
||||||
|
|
||||||
|
\par Le problème n'en est la plupart du temps pas un, mais il devient très critique lorsque la page appelée permet par
|
||||||
|
exemple de recharger un compte AE. Il ne faut alors surtout faire l'opération en double.
|
||||||
|
|
||||||
|
\par Pour protéger ces accès en double, on peut alors utiliser des transactions, et \textbf{Django} fournit une
|
||||||
|
abstraction très pratique: \verb-with transaction.atomic():-.
|
||||||
|
|
||||||
|
\par L'Eboutic, avec sa réponse de la banque, est très sujette à ces accès concurrents, et cela a posé quelques
|
||||||
|
problèmes dans les débuts. La plupart ont été résolu, mais il arrive encore dans les comptoirs d'avoir une vente en
|
||||||
|
double, sans pour autant avoir le débit du compte qui soit doublé. Cela ne pose pas foncièrement de problèmes, puisque
|
||||||
|
le solde du compte est tout de même valide, et c'est un problème très compliqué à debugger, puisqu'il survient très
|
||||||
|
rarement, mais il faudrait tout de même arriver à le résoudre un jour.
|
||||||
|
|
||||||
|
|
||||||
\chapter{Le SAS}
|
\chapter{Le SAS}
|
||||||
@ -112,9 +147,28 @@ Lo-J (Guillaume Renaud)}
|
|||||||
|
|
||||||
\subsection{Gestion des fichiers}
|
\subsection{Gestion des fichiers}
|
||||||
\label{sub:gestion_des_fichiers}
|
\label{sub:gestion_des_fichiers}
|
||||||
|
\par
|
||||||
|
|
||||||
\subsection{Optimisation des pages}
|
\subsection{Optimisation des pages}
|
||||||
\label{sub:optimisation_des_pages}
|
\label{sub:optimisation_des_pages}
|
||||||
|
\par La génération d'un grand nombre de requêtes SQL est un des principaux problèmes de ralentissement d'un site. Le
|
||||||
|
SAS, avec ses très nombreuses photos, qui requierent une validation des droits, a posé un gros problème à ce niveau.
|
||||||
|
|
||||||
|
\par Certaines pages ont pu mettre jusqu'à plus de 10 secondes à générer, ce qui est inconcevable pour une galerie de
|
||||||
|
photos, mais ce temps à pu être réduit à moins de 3 secondes.
|
||||||
|
|
||||||
|
\par L'astuce à été d'utiliser des actions utilisateurs, comme l'upload de nouvelles photos, pour faire plus de
|
||||||
|
traitement que nécessaire, afin de mettre en "cache" une grande partie des actions, comme par exemple la génération des
|
||||||
|
miniatures des albums.
|
||||||
|
|
||||||
|
\par Une autre technique pour gagner du temps est de mettre en cache certaines requêtes en forcant les \textsc{QuerySet}
|
||||||
|
à s'évaluer dans une \textsc{list} \textbf{Python} que l'on stocke afin d'obtenir sa longueur, au lieu de lancer d'abord
|
||||||
|
un \textsc{count}, puis une itération des résultats, qui en utilisant directement l'ORM, conduit à réaliser deux
|
||||||
|
requêtes SQL.
|
||||||
|
|
||||||
|
\par Enfin, le passage à \textbf{HTTP/2} permettrait d'améliorer encore les performances côté utilisateur puisqu'il n'y
|
||||||
|
aurait plus qu'un seul \textsc{socket} d'ouvert pour transférer toutes les photos d'une page par exemple, sans avoir
|
||||||
|
pour autant à toucher au code.
|
||||||
|
|
||||||
|
|
||||||
\chapter{Les élections}
|
\chapter{Les élections}
|
||||||
|
18
doc/TO_Skia_LoJ/slides/Makefile
Normal file
18
doc/TO_Skia_LoJ/slides/Makefile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
LATEX := pdflatex
|
||||||
|
TARGET := slide.pdf
|
||||||
|
|
||||||
|
.PHONY: all clean distclean
|
||||||
|
|
||||||
|
all: $(TARGET) clean
|
||||||
|
|
||||||
|
%.pdf: %.tex
|
||||||
|
echo "Building pdf"
|
||||||
|
$(LATEX) --shell-escape $<
|
||||||
|
rm -f $@
|
||||||
|
$(LATEX) --shell-escape $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.log *.nav *.snm *.aux *.out *.toc *.pyg
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f $(TARGET)
|
133
doc/TO_Skia_LoJ/slides/beamercolorthememetropolis.sty
Normal file
133
doc/TO_Skia_LoJ/slides/beamercolorthememetropolis.sty
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `beamercolorthememetropolis.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% beamercolorthememetropolis.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{beamercolorthememetropolis}[2016/02/21 Metropolis color theme]
|
||||||
|
\RequirePackage{pgfopts}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/color/block/.cd,
|
||||||
|
.is choice,
|
||||||
|
transparent/.code=\metropolis@block@transparent,
|
||||||
|
fill/.code=\metropolis@block@fill,
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/color/background/.cd,
|
||||||
|
.is choice,
|
||||||
|
dark/.code=\metropolis@colors@dark,
|
||||||
|
light/.code=\metropolis@colors@light,
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@color@setdefaults}{
|
||||||
|
\pgfkeys{/metropolis/color/.cd,
|
||||||
|
background=light,
|
||||||
|
block=transparent,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\definecolor{mDarkBrown}{HTML}{604c38}
|
||||||
|
\definecolor{mDarkTeal}{HTML}{23373b}
|
||||||
|
\definecolor{mLightBrown}{HTML}{EB811B}
|
||||||
|
\definecolor{mLightGreen}{HTML}{14B03D}
|
||||||
|
\newcommand{\metropolis@colors@dark}{
|
||||||
|
\setbeamercolor{normal text}{%
|
||||||
|
fg=black!2,
|
||||||
|
bg=mDarkTeal
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@colors@light}{
|
||||||
|
\setbeamercolor{normal text}{%
|
||||||
|
fg=mDarkTeal,
|
||||||
|
bg=black!2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamercolor{alerted text}{%
|
||||||
|
fg=mLightBrown
|
||||||
|
}
|
||||||
|
\setbeamercolor{example text}{%
|
||||||
|
fg=mLightGreen
|
||||||
|
}
|
||||||
|
\setbeamercolor{titlelike}{use=normal text, parent=normal text}
|
||||||
|
\setbeamercolor{author}{use=normal text, parent=normal text}
|
||||||
|
\setbeamercolor{date}{use=normal text, parent=normal text}
|
||||||
|
\setbeamercolor{institute}{use=normal text, parent=normal text}
|
||||||
|
\setbeamercolor{structure}{use=normal text, fg=normal text.fg}
|
||||||
|
\setbeamercolor{palette primary}{%
|
||||||
|
use=normal text,
|
||||||
|
fg=normal text.bg,
|
||||||
|
bg=normal text.fg
|
||||||
|
}
|
||||||
|
\setbeamercolor{frametitle}{%
|
||||||
|
use=palette primary,
|
||||||
|
parent=palette primary
|
||||||
|
}
|
||||||
|
\setbeamercolor{progress bar}{%
|
||||||
|
use=alerted text,
|
||||||
|
fg=alerted text.fg,
|
||||||
|
bg=alerted text.fg!50!black!30
|
||||||
|
}
|
||||||
|
\setbeamercolor{title separator}{
|
||||||
|
use=progress bar,
|
||||||
|
parent=progress bar
|
||||||
|
}
|
||||||
|
\setbeamercolor{progress bar in head/foot}{%
|
||||||
|
use=progress bar,
|
||||||
|
parent=progress bar
|
||||||
|
}
|
||||||
|
\setbeamercolor{progress bar in section page}{
|
||||||
|
use=progress bar,
|
||||||
|
parent=progress bar
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@block@transparent}{
|
||||||
|
\setbeamercolor{block title}{%
|
||||||
|
use=normal text,
|
||||||
|
fg=normal text.fg,
|
||||||
|
bg=
|
||||||
|
}
|
||||||
|
\setbeamercolor{block body}{
|
||||||
|
bg=
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@block@fill}{
|
||||||
|
\setbeamercolor{block title}{%
|
||||||
|
use=normal text,
|
||||||
|
fg=normal text.fg,
|
||||||
|
bg=normal text.bg!80!fg
|
||||||
|
}
|
||||||
|
\setbeamercolor{block body}{
|
||||||
|
use={block title, normal text},
|
||||||
|
bg=block title.bg!50!normal text.bg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamercolor{block title alerted}{%
|
||||||
|
use={block title, alerted text},
|
||||||
|
bg=block title.bg,
|
||||||
|
fg=alerted text.fg
|
||||||
|
}
|
||||||
|
\setbeamercolor{block title example}{%
|
||||||
|
use={block title, example text},
|
||||||
|
bg=block title.bg,
|
||||||
|
fg=example text.fg
|
||||||
|
}
|
||||||
|
\setbeamercolor{block body alerted}{use=block body, parent=block body}
|
||||||
|
\setbeamercolor{block body example}{use=block body, parent=block body}
|
||||||
|
\setbeamercolor{footnote}{fg=normal text.fg!90}
|
||||||
|
\setbeamercolor{footnote mark}{fg=.}
|
||||||
|
\metropolis@color@setdefaults
|
||||||
|
\ProcessPgfPackageOptions{/metropolis/color}
|
||||||
|
\mode<all>
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `beamercolorthememetropolis.sty'.
|
283
doc/TO_Skia_LoJ/slides/beamerfontthememetropolis.sty
Normal file
283
doc/TO_Skia_LoJ/slides/beamerfontthememetropolis.sty
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `beamerfontthememetropolis.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% beamerfontthememetropolis.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{beamerfontthememetropolis}[2016/02/21 Metropolis font theme]
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{ifxetex}
|
||||||
|
\RequirePackage{ifluatex}
|
||||||
|
\RequirePackage{pgfopts}
|
||||||
|
\ifboolexpr{bool {xetex} or bool {luatex}}{
|
||||||
|
\RequirePackage[no-math]{fontspec}
|
||||||
|
\newcounter{fontsnotfound}
|
||||||
|
\newcommand{\checkfont}[1]{%
|
||||||
|
\suppressfontnotfounderror=1%
|
||||||
|
\font\x = "#1" at 10pt
|
||||||
|
\selectfont
|
||||||
|
\ifx\x\nullfont%
|
||||||
|
\stepcounter{fontsnotfound}%
|
||||||
|
\fi%
|
||||||
|
\suppressfontnotfounderror=0%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\iffontsavailable}[3]{%
|
||||||
|
\setcounter{fontsnotfound}{0}%
|
||||||
|
\expandafter\forcsvlist\expandafter%
|
||||||
|
\checkfont\expandafter{#1}%
|
||||||
|
\ifnum\value{fontsnotfound}=0%
|
||||||
|
#2%
|
||||||
|
\else%
|
||||||
|
#3%
|
||||||
|
\fi%
|
||||||
|
}
|
||||||
|
\iffontsavailable{Fira Sans Light,%
|
||||||
|
Fira Sans Light Italic,%
|
||||||
|
Fira Sans,%
|
||||||
|
Fira Sans Italic}%
|
||||||
|
{%
|
||||||
|
\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||||
|
BoldFont={Fira Sans},%
|
||||||
|
BoldItalicFont={Fira Sans Italic}]%
|
||||||
|
{Fira Sans Light}%
|
||||||
|
}{%
|
||||||
|
\iffontsavailable{Fira Sans Light OT,%
|
||||||
|
Fira Sans Light Italic OT,%
|
||||||
|
Fira Sans OT,%
|
||||||
|
Fira Sans Italic OT}%
|
||||||
|
{%
|
||||||
|
\setsansfont[ItalicFont={Fira Sans Light Italic OT},%
|
||||||
|
BoldFont={Fira Sans OT},%
|
||||||
|
BoldItalicFont={Fira Sans Italic OT}]%
|
||||||
|
{Fira Sans Light OT}%
|
||||||
|
}{%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Could not find Fira Sans fonts%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\iffontsavailable{Fira Mono, Fira Mono Bold}{%
|
||||||
|
\setmonofont[BoldFont={Fira Mono Medium}]{Fira Mono}%
|
||||||
|
}{%
|
||||||
|
\iffontsavailable{Fira Mono OT, Fira Mono Bold OT}{%
|
||||||
|
\setmonofont[BoldFont={Fira Mono Medium OT}]{Fira Mono OT}%
|
||||||
|
}{%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Could not find Fira Mono fonts%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\AtBeginEnvironment{tabular}{%
|
||||||
|
\addfontfeature{Numbers={Monospaced}}%
|
||||||
|
}
|
||||||
|
}{%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
You need to compile with XeLaTeX or LuaLaTeX to use the Fira fonts%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamerfont{title}{size=\Large,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont{author}{size=\small}
|
||||||
|
\setbeamerfont{date}{size=\small}
|
||||||
|
\setbeamerfont{section title}{size=\Large,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont{block title}{size=\normalsize,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont{block title alerted}{size=\normalsize,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont*{subtitle}{size=\large}
|
||||||
|
\setbeamerfont{frametitle}{size=\large,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont{caption}{size=\small}
|
||||||
|
\setbeamerfont{caption name}{series=\bfseries}
|
||||||
|
\setbeamerfont{description item}{series=\bfseries}
|
||||||
|
\setbeamerfont{page number in head/foot}{size=\scriptsize}
|
||||||
|
\setbeamerfont{bibliography entry author}{size=\normalsize,%
|
||||||
|
series=\normalfont}
|
||||||
|
\setbeamerfont{bibliography entry title}{size=\normalsize,%
|
||||||
|
series=\bfseries}
|
||||||
|
\setbeamerfont{bibliography entry location}{size=\normalsize,%
|
||||||
|
series=\normalfont}
|
||||||
|
\setbeamerfont{bibliography entry note}{size=\small,%
|
||||||
|
series=\normalfont}
|
||||||
|
\setbeamerfont{standout}{size=\Large,%
|
||||||
|
series=\bfseries}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/font/titleformat title/.cd,
|
||||||
|
.is choice,
|
||||||
|
regular/.code={%
|
||||||
|
\let\metropolis@titleformat\@empty%
|
||||||
|
\setbeamerfont{title}{shape=\normalfont}%
|
||||||
|
},
|
||||||
|
smallcaps/.code={%
|
||||||
|
\let\metropolis@titleformat\@empty%
|
||||||
|
\setbeamerfont{title}{shape=\scshape}%
|
||||||
|
},
|
||||||
|
allsmallcaps/.code={%
|
||||||
|
\let\metropolis@titleformat\lowercase%
|
||||||
|
\setbeamerfont{title}{shape=\scshape}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat title=allsmallcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
allcaps/.code={%
|
||||||
|
\let\metropolis@titleformat\uppercase%
|
||||||
|
\setbeamerfont{title}{shape=\normalfont}
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat title=allcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/font/titleformat subtitle/.cd,
|
||||||
|
.is choice,
|
||||||
|
regular/.code={%
|
||||||
|
\let\metropolis@subtitleformat\@empty%
|
||||||
|
\setbeamerfont{subtitle}{shape=\normalfont}%
|
||||||
|
},
|
||||||
|
smallcaps/.code={%
|
||||||
|
\let\metropolis@subtitleformat\@empty%
|
||||||
|
\setbeamerfont{subtitle}{shape=\scshape}%
|
||||||
|
},
|
||||||
|
allsmallcaps/.code={%
|
||||||
|
\let\metropolis@subtitleformat\lowercase%
|
||||||
|
\setbeamerfont{subtitle}{shape=\scshape}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat subtitle=allsmallcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
allcaps/.code={%
|
||||||
|
\let\metropolis@subtitleformat\uppercase%
|
||||||
|
\setbeamerfont{subtitle}{shape=\normalfont}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat subtitle=allcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/font/titleformat section/.cd,
|
||||||
|
.is choice,
|
||||||
|
regular/.code={%
|
||||||
|
\let\metropolis@sectiontitleformat\@empty%
|
||||||
|
\setbeamerfont{section title}{shape=\normalfont}%
|
||||||
|
},
|
||||||
|
smallcaps/.code={%
|
||||||
|
\let\metropolis@sectiontitleformat\@empty%
|
||||||
|
\setbeamerfont{section title}{shape=\scshape}%
|
||||||
|
},
|
||||||
|
allsmallcaps/.code={%
|
||||||
|
\let\metropolis@sectiontitleformat\MakeLowercase%
|
||||||
|
\setbeamerfont{section title}{shape=\scshape}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat section=allsmallcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
allcaps/.code={%
|
||||||
|
\let\metropolis@sectiontitleformat\MakeUppercase%
|
||||||
|
\setbeamerfont{section title}{shape=\normalfont}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat section=allcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/font/titleformat frame/.cd,
|
||||||
|
.is choice,
|
||||||
|
regular/.code={%
|
||||||
|
\let\metropolis@frametitleformat\@empty%
|
||||||
|
\setbeamerfont{frametitle}{shape=\normalfont}%
|
||||||
|
},
|
||||||
|
smallcaps/.code={%
|
||||||
|
\let\metropolis@frametitleformat\@empty%
|
||||||
|
\setbeamerfont{frametitle}{shape=\scshape}%
|
||||||
|
},
|
||||||
|
allsmallcaps/.code={%
|
||||||
|
\let\metropolis@frametitleformat\MakeLowercase%
|
||||||
|
\setbeamerfont{frametitle}{shape=\scshape}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat frame=allsmallcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
allcaps/.code={%
|
||||||
|
\let\metropolis@frametitleformat\MakeUppercase%
|
||||||
|
\setbeamerfont{frametitle}{shape=\normalfont}
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat frame=allcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/font/.cd,
|
||||||
|
titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
|
||||||
|
titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
|
||||||
|
titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
|
||||||
|
titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@font@setdefaults}{
|
||||||
|
\pgfkeys{/metropolis/font/.cd,
|
||||||
|
titleformat title=regular,
|
||||||
|
titleformat subtitle=regular,
|
||||||
|
titleformat section=regular,
|
||||||
|
titleformat frame=regular,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\def\metropolis@titleformat#1{#1}
|
||||||
|
\def\metropolis@subtitleformat#1{#1}
|
||||||
|
\def\metropolis@sectiontitleformat#1{#1}
|
||||||
|
\def\metropolis@frametitleformat#1{#1}
|
||||||
|
\patchcmd{\beamer@title}%
|
||||||
|
{\def\inserttitle{#2}}%
|
||||||
|
{\def\inserttitle{\metropolis@titleformat{#2}}}%
|
||||||
|
{}%
|
||||||
|
{\PackageError{beamerfontthememetropolis}{Patching title failed}}
|
||||||
|
\patchcmd{\beamer@subtitle}%
|
||||||
|
{\def\insertsubtitle{#2}}%
|
||||||
|
{\def\insertsubtitle{\metropolis@subtitleformat{#2}}}%
|
||||||
|
{}%
|
||||||
|
{\PackageError{beamerfontthememetropolis}{Patching subtitle failed}}
|
||||||
|
\patchcmd{\sectionentry}
|
||||||
|
{\def\insertsectionhead{#2}}
|
||||||
|
{\def\insertsectionhead{\metropolis@sectiontitleformat{#2}}}
|
||||||
|
{}
|
||||||
|
{\PackageError{beamerfontthememetropolis}{Patching section title failed}}
|
||||||
|
\patchcmd{\beamer@section}
|
||||||
|
{\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
|
||||||
|
{\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
|
||||||
|
\metropolis@sectiontitleformat{#1}}}}
|
||||||
|
{}
|
||||||
|
{\PackageError{beamerfontthememetropolis}{Patching section title failed}}
|
||||||
|
\patchcmd{\beamer@@frametitle}
|
||||||
|
{\beamer@ifempty{#2}{}{%
|
||||||
|
\gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space%
|
||||||
|
\usebeamertemplate*{frametitle continuation}\fi}}%
|
||||||
|
\gdef\beamer@frametitle{#2}%
|
||||||
|
\gdef\beamer@shortframetitle{#1}%
|
||||||
|
}}
|
||||||
|
{\beamer@ifempty{#2}{}{%
|
||||||
|
\gdef\insertframetitle{{\metropolis@frametitleformat{#2}\ifnum%
|
||||||
|
\beamer@autobreakcount>0\relax{}\space%
|
||||||
|
\usebeamertemplate*{frametitle continuation}\fi}}%
|
||||||
|
\gdef\beamer@frametitle{#2}%
|
||||||
|
\gdef\beamer@shortframetitle{#1}%
|
||||||
|
}}
|
||||||
|
{}
|
||||||
|
{\PackageError{beamerfontthememetropolis}{Patching frame title failed}}
|
||||||
|
\metropolis@font@setdefaults
|
||||||
|
\ProcessPgfPackageOptions{/metropolis/font}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `beamerfontthememetropolis.sty'.
|
281
doc/TO_Skia_LoJ/slides/beamerinnerthememetropolis.sty
Normal file
281
doc/TO_Skia_LoJ/slides/beamerinnerthememetropolis.sty
Normal file
@ -0,0 +1,281 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `beamerinnerthememetropolis.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% beamerinnerthememetropolis.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{beamerinnerthememetropolis}[2016/02/21 Metropolis inner theme]
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{keyval}
|
||||||
|
\RequirePackage{calc}
|
||||||
|
\RequirePackage{pgfopts}
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/inner/sectionpage/.cd,
|
||||||
|
.is choice,
|
||||||
|
none/.code=\metropolis@disablesectionpage,
|
||||||
|
simple/.code={\metropolis@enablesectionpage
|
||||||
|
\setbeamertemplate{section page}[simple]},
|
||||||
|
progressbar/.code={\metropolis@enablesectionpage
|
||||||
|
\setbeamertemplate{section page}[progressbar]},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/inner/subsectionpage/.cd,
|
||||||
|
.is choice,
|
||||||
|
none/.code=\metropolis@disablesubsectionpage,
|
||||||
|
simple/.code={\metropolis@enablesubsectionpage
|
||||||
|
\setbeamertemplate{section page}[simple]},
|
||||||
|
progressbar/.code={\metropolis@enablesubsectionpage
|
||||||
|
\setbeamertemplate{section page}[progressbar]},
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@inner@setdefaults}{
|
||||||
|
\pgfkeys{/metropolis/inner/.cd,
|
||||||
|
sectionpage=progressbar,
|
||||||
|
subsectionpage=none
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{title page}{
|
||||||
|
\begin{minipage}[b][\paperheight]{\textwidth}
|
||||||
|
\ifx\inserttitlegraphic\@empty\else\usebeamertemplate*{title graphic}\fi
|
||||||
|
\vfill%
|
||||||
|
\ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi
|
||||||
|
\ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi
|
||||||
|
\usebeamertemplate*{title separator}
|
||||||
|
\ifx\beamer@shortauthor\@empty\else\usebeamertemplate*{author}\fi
|
||||||
|
\ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi
|
||||||
|
\ifx\insertinstitute\@empty\else\usebeamertemplate*{institute}\fi
|
||||||
|
\vfill
|
||||||
|
\vspace*{1mm}
|
||||||
|
\end{minipage}
|
||||||
|
}
|
||||||
|
\def\maketitle{%
|
||||||
|
\ifbeamer@inframe
|
||||||
|
\titlepage
|
||||||
|
\else
|
||||||
|
\frame[plain,noframenumbering]{\titlepage}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
\def\titlepage{%
|
||||||
|
\usebeamertemplate{title page}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{title graphic}{
|
||||||
|
\vbox to 0pt {
|
||||||
|
\vspace*{2em}
|
||||||
|
\inserttitlegraphic%
|
||||||
|
}%
|
||||||
|
\nointerlineskip%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{title}{
|
||||||
|
\raggedright%
|
||||||
|
\linespread{1.0}%
|
||||||
|
\inserttitle%
|
||||||
|
\par%
|
||||||
|
\vspace*{0.5em}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{subtitle}{
|
||||||
|
\insertsubtitle%
|
||||||
|
\par%
|
||||||
|
\vspace*{0.5em}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{title separator}{
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\draw[fg, fill=fg] (0,0) rectangle (\textwidth, 0.4pt);
|
||||||
|
\end{tikzpicture}%
|
||||||
|
\par%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{author}{
|
||||||
|
\vspace*{2em}
|
||||||
|
\insertauthor%
|
||||||
|
\par%
|
||||||
|
\vspace*{0.25em}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{date}{
|
||||||
|
\insertdate%
|
||||||
|
\par%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{institute}{
|
||||||
|
\vspace*{3mm}
|
||||||
|
\insertinstitute%
|
||||||
|
\par%
|
||||||
|
}
|
||||||
|
\defbeamertemplate{section page}{simple}{
|
||||||
|
\begin{center}
|
||||||
|
\usebeamercolor[fg]{section title}
|
||||||
|
\usebeamerfont{section title}
|
||||||
|
\insertsectionhead\par
|
||||||
|
\ifx\insertsubsection\@empty\else
|
||||||
|
\usebeamercolor[fg]{subsection title}
|
||||||
|
\usebeamerfont{subsection title}
|
||||||
|
\insertsubsection
|
||||||
|
\fi
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\defbeamertemplate{section page}{progressbar}{
|
||||||
|
\centering
|
||||||
|
\begin{minipage}{22em}
|
||||||
|
\raggedright
|
||||||
|
\usebeamercolor[fg]{section title}
|
||||||
|
\usebeamerfont{section title}
|
||||||
|
\insertsectionhead\\[-1ex]
|
||||||
|
\usebeamertemplate*{progress bar in section page}
|
||||||
|
\par
|
||||||
|
\ifx\insertsubsection\@empty\else%
|
||||||
|
\usebeamercolor[fg]{subsection title}%
|
||||||
|
\usebeamerfont{subsection title}%
|
||||||
|
\insertsubsection
|
||||||
|
\fi
|
||||||
|
\end{minipage}
|
||||||
|
\par
|
||||||
|
\vspace{\baselineskip}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@disablesectionpage}{
|
||||||
|
\AtBeginSection{
|
||||||
|
% intentionally empty
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@enablesectionpage}{
|
||||||
|
\AtBeginSection{
|
||||||
|
\ifbeamer@inframe
|
||||||
|
\sectionpage
|
||||||
|
\else
|
||||||
|
\frame[plain,c,noframenumbering]{\sectionpage}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{subsection page}{%
|
||||||
|
\usebeamertemplate*{section page}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@disablesubsectionpage}{
|
||||||
|
\AtBeginSubsection{
|
||||||
|
% intentionally empty
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@enablesubsectionpage}{
|
||||||
|
\AtBeginSubsection{
|
||||||
|
\ifbeamer@inframe
|
||||||
|
\subsectionpage
|
||||||
|
\else
|
||||||
|
\frame[plain,c,noframenumbering]{\subsectionpage}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newlength{\metropolis@progressonsectionpage}
|
||||||
|
\setbeamertemplate{progress bar in section page}{
|
||||||
|
\setlength{\metropolis@progressonsectionpage}{%
|
||||||
|
\textwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
|
||||||
|
}%
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\draw[bg, fill=bg] (0,0) rectangle (\textwidth, 0.4pt);
|
||||||
|
\draw[fg, fill=fg] (0,0) rectangle (\metropolis@progressonsectionpage, 0.4pt);
|
||||||
|
\end{tikzpicture}%
|
||||||
|
}
|
||||||
|
\def\inserttotalframenumber{100}
|
||||||
|
\newlength{\metropolis@blocksep}
|
||||||
|
\newlength{\metropolis@blockadjust}
|
||||||
|
\setlength{\metropolis@blocksep}{0.75ex}
|
||||||
|
\setlength{\metropolis@blockadjust}{0.25ex}
|
||||||
|
\providecommand{\metropolis@strut}{%
|
||||||
|
\vphantom{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz()}%
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@block}[1]{
|
||||||
|
\par\vskip\medskipamount%
|
||||||
|
\setlength{\parskip}{0pt}
|
||||||
|
\ifbeamercolorempty[bg]{block title#1}{%
|
||||||
|
\begin{beamercolorbox}[rightskip=0pt plus 4em]{block title#1}}{%
|
||||||
|
\ifbeamercolorempty[bg]{block title}{%
|
||||||
|
\begin{beamercolorbox}[rightskip=0pt plus 4em]{block title#1}%
|
||||||
|
}%
|
||||||
|
{%
|
||||||
|
\begin{beamercolorbox}[
|
||||||
|
sep=\dimexpr\metropolis@blocksep-\metropolis@blockadjust\relax,
|
||||||
|
leftskip=\metropolis@blockadjust,
|
||||||
|
rightskip=\dimexpr\metropolis@blockadjust plus 4em\relax
|
||||||
|
]{block title#1}%
|
||||||
|
}}%
|
||||||
|
\usebeamerfont*{block title#1}%
|
||||||
|
\metropolis@strut%
|
||||||
|
\insertblocktitle%
|
||||||
|
\metropolis@strut%
|
||||||
|
\end{beamercolorbox}%
|
||||||
|
\nointerlineskip%
|
||||||
|
\ifbeamercolorempty[bg]{block body#1}{%
|
||||||
|
\begin{beamercolorbox}[vmode]{block body#1}}{
|
||||||
|
\ifbeamercolorempty[bg]{block body}{%
|
||||||
|
\begin{beamercolorbox}[vmode]{block body#1}%
|
||||||
|
}{%
|
||||||
|
\begin{beamercolorbox}[sep=\metropolis@blocksep, vmode]{block body#1}%
|
||||||
|
\vspace{-\metropolis@parskip}
|
||||||
|
}}%
|
||||||
|
\usebeamerfont{block body#1}%
|
||||||
|
\setlength{\parskip}{\metropolis@parskip}%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{block begin}{\metropolis@block{}}
|
||||||
|
\setbeamertemplate{block alerted begin}{\metropolis@block{ alerted}}
|
||||||
|
\setbeamertemplate{block example begin}{\metropolis@block{ example}}
|
||||||
|
\setbeamertemplate{block end}{\end{beamercolorbox}\vspace*{0.2ex}}
|
||||||
|
\setbeamertemplate{block alerted end}{\end{beamercolorbox}\vspace*{0.2ex}}
|
||||||
|
\setbeamertemplate{block example end}{\end{beamercolorbox}\vspace*{0.2ex}}
|
||||||
|
\setbeamertemplate{itemize items}{\textbullet}
|
||||||
|
\setbeamertemplate{caption label separator}{: }
|
||||||
|
\setbeamertemplate{caption}[numbered]
|
||||||
|
\setbeamertemplate{footnote}{%
|
||||||
|
\parindent 0em\noindent%
|
||||||
|
\raggedright
|
||||||
|
\usebeamercolor{footnote}\hbox to 0.8em{\hfil\insertfootnotemark}\insertfootnotetext\par%
|
||||||
|
}
|
||||||
|
\newlength{\metropolis@parskip}
|
||||||
|
\setlength{\metropolis@parskip}{0.5em}
|
||||||
|
\setlength{\parskip}{\metropolis@parskip}
|
||||||
|
\linespread{1.15}
|
||||||
|
\define@key{beamerframe}{c}[true]{% centered
|
||||||
|
\beamer@frametopskip=0pt plus 1fill\relax%
|
||||||
|
\beamer@framebottomskip=0pt plus 1fill\relax%
|
||||||
|
\beamer@frametopskipautobreak=0pt plus .4\paperheight\relax%
|
||||||
|
\beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax%
|
||||||
|
\def\beamer@initfirstlineunskip{}%
|
||||||
|
}
|
||||||
|
\providebool{metropolis@standout}
|
||||||
|
\define@key{beamerframe}{standout}[true]{%
|
||||||
|
\booltrue{metropolis@standout}
|
||||||
|
\begingroup
|
||||||
|
\setkeys{beamerframe}{c}
|
||||||
|
\setkeys{beamerframe}{noframenumbering}
|
||||||
|
\ifbeamercolorempty[bg]{palette primary}{
|
||||||
|
\setbeamercolor{background canvas}{
|
||||||
|
use=palette primary,
|
||||||
|
bg=-palette primary.fg
|
||||||
|
}
|
||||||
|
}{
|
||||||
|
\setbeamercolor{background canvas}{
|
||||||
|
use=palette primary,
|
||||||
|
bg=palette primary.bg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\centering
|
||||||
|
\usebeamercolor[fg]{palette primary}
|
||||||
|
\usebeamerfont{standout}
|
||||||
|
}
|
||||||
|
\apptocmd{\beamer@reseteecodes}{%
|
||||||
|
\ifbool{metropolis@standout}{
|
||||||
|
\endgroup
|
||||||
|
\boolfalse{metropolis@standout}
|
||||||
|
}{}
|
||||||
|
}{}{}
|
||||||
|
\metropolis@inner@setdefaults
|
||||||
|
\ProcessPgfPackageOptions{/metropolis/inner}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `beamerinnerthememetropolis.sty'.
|
126
doc/TO_Skia_LoJ/slides/beamerouterthememetropolis.sty
Normal file
126
doc/TO_Skia_LoJ/slides/beamerouterthememetropolis.sty
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `beamerouterthememetropolis.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% beamerouterthememetropolis.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{beamerouterthememetropolis}[2016/02/21 Metropolis outer theme]
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{calc}
|
||||||
|
\RequirePackage{pgfopts}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/outer/numbering/.cd,
|
||||||
|
.is choice,
|
||||||
|
none/.code=\setbeamertemplate{frame numbering}[none],
|
||||||
|
counter/.code=\setbeamertemplate{frame numbering}[counter],
|
||||||
|
fraction/.code=\setbeamertemplate{frame numbering}[fraction],
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/outer/progressbar/.cd,
|
||||||
|
.is choice,
|
||||||
|
none/.code={%
|
||||||
|
\setbeamertemplate{headline}[plain]
|
||||||
|
\setbeamertemplate{frametitle}[plain]
|
||||||
|
\setbeamertemplate{footline}[plain]
|
||||||
|
},
|
||||||
|
head/.code={\pgfkeys{/metropolis/outer/progressbar=none}
|
||||||
|
\addtobeamertemplate{headline}{}{%
|
||||||
|
\usebeamertemplate*{progress bar in head/foot}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
frametitle/.code={\pgfkeys{/metropolis/outer/progressbar=none}
|
||||||
|
\addtobeamertemplate{frametitle}{}{%
|
||||||
|
\usebeamertemplate*{progress bar in head/foot}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
foot/.code={\pgfkeys{/metropolis/outer/progressbar=none}
|
||||||
|
\addtobeamertemplate{footline}{}{%
|
||||||
|
\usebeamertemplate*{progress bar in head/foot}%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@outer@setdefaults}{
|
||||||
|
\pgfkeys{/metropolis/outer/.cd,
|
||||||
|
numbering=counter,
|
||||||
|
progressbar=none,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{navigation symbols}{}
|
||||||
|
\defbeamertemplate{frame footer}{none}{}
|
||||||
|
\defbeamertemplate{frame footer}{custom}[1]{ #1 }
|
||||||
|
\defbeamertemplate{frame numbering}{none}{}
|
||||||
|
\defbeamertemplate{frame numbering}{counter}{\insertframenumber}
|
||||||
|
\defbeamertemplate{frame numbering}{fraction}{
|
||||||
|
\insertframenumber/\inserttotalframenumber
|
||||||
|
}
|
||||||
|
\defbeamertemplate{headline}{plain}{}
|
||||||
|
\defbeamertemplate{footline}{plain}{%
|
||||||
|
\begin{beamercolorbox}[wd=\textwidth, sep=3ex]{footline}%
|
||||||
|
\usebeamerfont{page number in head/foot}%
|
||||||
|
\usebeamertemplate*{frame footer}
|
||||||
|
\hfill%
|
||||||
|
\usebeamertemplate*{frame numbering}
|
||||||
|
\end{beamercolorbox}%
|
||||||
|
}
|
||||||
|
\newlength{\metropolis@frametitle@padding}
|
||||||
|
\setlength{\metropolis@frametitle@padding}{2.2ex}
|
||||||
|
\newcommand{\metropolis@frametitlestrut@start}{
|
||||||
|
\rule{0pt}{\metropolis@frametitle@padding +%
|
||||||
|
\totalheightof{%
|
||||||
|
\ifcsdef{metropolis@frametitleformat}{\metropolis@frametitleformat X}{X}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@frametitlestrut@end}{
|
||||||
|
\rule[-\metropolis@frametitle@padding]{0pt}{\metropolis@frametitle@padding}
|
||||||
|
}
|
||||||
|
\defbeamertemplate{frametitle}{plain}{%
|
||||||
|
\nointerlineskip%
|
||||||
|
\begin{beamercolorbox}[%
|
||||||
|
wd=\paperwidth,%
|
||||||
|
sep=0pt,%
|
||||||
|
leftskip=\metropolis@frametitle@padding,%
|
||||||
|
rightskip=\metropolis@frametitle@padding,%
|
||||||
|
]{frametitle}%
|
||||||
|
\metropolis@frametitlestrut@start\insertframetitle\metropolis@frametitlestrut@end%
|
||||||
|
\end{beamercolorbox}%
|
||||||
|
}
|
||||||
|
\newlength{\metropolis@progressinheadfoot}
|
||||||
|
\setbeamertemplate{progress bar in head/foot}{
|
||||||
|
\nointerlineskip
|
||||||
|
\setlength{\metropolis@progressinheadfoot}{%
|
||||||
|
\paperwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
|
||||||
|
}%
|
||||||
|
\begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\draw[bg, fill=bg] (0,0) rectangle (\paperwidth, 0.4pt);
|
||||||
|
\draw[fg, fill=fg] (0,0) rectangle (\metropolis@progressinheadfoot, 0.4pt);
|
||||||
|
\end{tikzpicture}%
|
||||||
|
\end{beamercolorbox}
|
||||||
|
}
|
||||||
|
\AtBeginDocument{%
|
||||||
|
\apptocmd{\appendix}{%
|
||||||
|
\pgfkeys{%
|
||||||
|
/metropolis/outer/.cd,
|
||||||
|
numbering=none,
|
||||||
|
progressbar=none}
|
||||||
|
}{}{}
|
||||||
|
}
|
||||||
|
\metropolis@outer@setdefaults
|
||||||
|
\ProcessPgfPackageOptions{/metropolis/outer}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `beamerouterthememetropolis.sty'.
|
105
doc/TO_Skia_LoJ/slides/beamerthememetropolis.sty
Normal file
105
doc/TO_Skia_LoJ/slides/beamerthememetropolis.sty
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `beamerthememetropolis.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% beamerthememetropolis.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{beamerthememetropolis}
|
||||||
|
[2016/02/21 v1.1 Metropolis Beamer theme]
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{pgfopts}
|
||||||
|
\pgfkeys{/metropolis/.cd,
|
||||||
|
.search also={
|
||||||
|
/metropolis/inner,
|
||||||
|
/metropolis/outer,
|
||||||
|
/metropolis/color,
|
||||||
|
/metropolis/font,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/titleformat plain/.cd,
|
||||||
|
.is choice,
|
||||||
|
regular/.code={%
|
||||||
|
\let\metropolis@plaintitleformat\@empty%
|
||||||
|
\setbeamerfont{standout}{shape=\normalfont}%
|
||||||
|
},
|
||||||
|
smallcaps/.code={%
|
||||||
|
\let\metropolis@plaintitleformat\@empty%
|
||||||
|
\setbeamerfont{standout}{shape=\scshape}%
|
||||||
|
},
|
||||||
|
allsmallcaps/.code={%
|
||||||
|
\let\metropolis@plaintitleformat\MakeLowercase%
|
||||||
|
\setbeamerfont{standout}{shape=\scshape}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat plain=allsmallcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
allcaps/.code={%
|
||||||
|
\let\metropolis@plaintitleformat\MakeUppercase%
|
||||||
|
\setbeamerfont{standout}{shape=\normalfont}%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
Be aware that titleformat plain=allcaps can lead to problems%
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\pgfkeys{
|
||||||
|
/metropolis/titleformat/.code=\pgfkeysalso{
|
||||||
|
font/titleformat title=#1,
|
||||||
|
font/titleformat subtitle=#1,
|
||||||
|
font/titleformat section=#1,
|
||||||
|
font/titleformat frame=#1,
|
||||||
|
titleformat plain=#1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\pgfkeys{/metropolis/.cd,
|
||||||
|
usetitleprogressbar/.code=\pgfkeysalso{outer/progressbar=frametitle},
|
||||||
|
noslidenumbers/.code=\pgfkeysalso{outer/numbering=none},
|
||||||
|
usetotalslideindicator/.code=\pgfkeysalso{outer/numbering=fraction},
|
||||||
|
nosectionslide/.code=\pgfkeysalso{inner/sectionpage=none},
|
||||||
|
darkcolors/.code=\pgfkeysalso{color/background=dark},
|
||||||
|
blockbg/.code=\pgfkeysalso{color/block=fill, inner/block=fill},
|
||||||
|
}
|
||||||
|
\newcommand{\metropolis@setdefaults}{
|
||||||
|
\pgfkeys{/metropolis/.cd,
|
||||||
|
titleformat plain=regular,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\useinnertheme{metropolis}
|
||||||
|
\useoutertheme{metropolis}
|
||||||
|
\usecolortheme{metropolis}
|
||||||
|
\usefonttheme{metropolis}
|
||||||
|
\AtEndPreamble{%
|
||||||
|
\@ifpackageloaded{pgfplots}{%
|
||||||
|
\RequirePackage{pgfplotsthemetol}
|
||||||
|
}{}
|
||||||
|
}
|
||||||
|
\newcommand{\metroset}[1]{\pgfkeys{/metropolis/.cd,#1}}
|
||||||
|
\def\metropolis@plaintitleformat#1{#1}
|
||||||
|
\newcommand{\plain}[2][]{%
|
||||||
|
\PackageWarning{beamerthememetropolis}{%
|
||||||
|
The syntax `\plain' may be deprecated in a future version of Metropolis.
|
||||||
|
Please use a frame with [standout] instead.
|
||||||
|
}
|
||||||
|
\begin{frame}[standout]{#1}
|
||||||
|
\metropolis@plaintitleformat{#2}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
\newcommand{\mreducelistspacing}{\vspace{-\topsep}}
|
||||||
|
\metropolis@setdefaults
|
||||||
|
\ProcessPgfOptions{/metropolis}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `beamerthememetropolis.sty'.
|
123
doc/TO_Skia_LoJ/slides/pgfplotsthemetol.sty
Normal file
123
doc/TO_Skia_LoJ/slides/pgfplotsthemetol.sty
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `pgfplotsthemetol.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% pgfplotsthemetol.dtx (with options: `package')
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
|
||||||
|
%% contributors can be found at
|
||||||
|
%%
|
||||||
|
%% https://github.com/matze/mtheme/graphs/contributors
|
||||||
|
%%
|
||||||
|
%% and the original template was based on the HSRM theme by Benjamin Weiss.
|
||||||
|
%%
|
||||||
|
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
%% ---------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{pgfplotsthemetol}
|
||||||
|
[2015/06/16 PGFplots colors based on Paul Tol's SRON technical note]
|
||||||
|
\definecolor{TolDarkPurple}{HTML}{332288}
|
||||||
|
\definecolor{TolDarkBlue}{HTML}{6699CC}
|
||||||
|
\definecolor{TolLightBlue}{HTML}{88CCEE}
|
||||||
|
\definecolor{TolLightGreen}{HTML}{44AA99}
|
||||||
|
\definecolor{TolDarkGreen}{HTML}{117733}
|
||||||
|
\definecolor{TolDarkBrown}{HTML}{999933}
|
||||||
|
\definecolor{TolLightBrown}{HTML}{DDCC77}
|
||||||
|
\definecolor{TolDarkRed}{HTML}{661100}
|
||||||
|
\definecolor{TolLightRed}{HTML}{CC6677}
|
||||||
|
\definecolor{TolLightPink}{HTML}{AA4466}
|
||||||
|
\definecolor{TolDarkPink}{HTML}{882255}
|
||||||
|
\definecolor{TolLightPurple}{HTML}{AA4499}
|
||||||
|
\pgfplotscreateplotcyclelist{mbarplot cycle}{%
|
||||||
|
{draw=TolDarkBlue, fill=TolDarkBlue!70},
|
||||||
|
{draw=TolLightBrown, fill=TolLightBrown!70},
|
||||||
|
{draw=TolLightGreen, fill=TolLightGreen!70},
|
||||||
|
{draw=TolDarkPink, fill=TolDarkPink!70},
|
||||||
|
{draw=TolDarkPurple, fill=TolDarkPurple!70},
|
||||||
|
{draw=TolDarkRed, fill=TolDarkRed!70},
|
||||||
|
{draw=TolDarkBrown, fill=TolDarkBrown!70},
|
||||||
|
{draw=TolLightRed, fill=TolLightRed!70},
|
||||||
|
{draw=TolLightPink, fill=TolLightPink!70},
|
||||||
|
{draw=TolLightPurple, fill=TolLightPurple!70},
|
||||||
|
{draw=TolLightBlue, fill=TolLightBlue!70},
|
||||||
|
{draw=TolDarkGreen, fill=TolDarkGreen!70},
|
||||||
|
}
|
||||||
|
\pgfplotscreateplotcyclelist{mlineplot cycle}{%
|
||||||
|
{TolDarkBlue, mark=*, mark size=1.5pt},
|
||||||
|
{TolLightBrown, mark=square*, mark size=1.3pt},
|
||||||
|
{TolLightGreen, mark=triangle*, mark size=1.5pt},
|
||||||
|
{TolDarkBrown, mark=diamond*, mark size=1.5pt},
|
||||||
|
}
|
||||||
|
\pgfplotsset{
|
||||||
|
compat=1.9,
|
||||||
|
mlineplot/.style={
|
||||||
|
mbaseplot,
|
||||||
|
xmajorgrids=true,
|
||||||
|
ymajorgrids=true,
|
||||||
|
major grid style={dotted},
|
||||||
|
axis x line=bottom,
|
||||||
|
axis y line=left,
|
||||||
|
legend style={
|
||||||
|
cells={anchor=west},
|
||||||
|
draw=none
|
||||||
|
},
|
||||||
|
cycle list name=mlineplot cycle,
|
||||||
|
},
|
||||||
|
mbarplot base/.style={
|
||||||
|
mbaseplot,
|
||||||
|
bar width=6pt,
|
||||||
|
axis y line*=none,
|
||||||
|
},
|
||||||
|
mbarplot/.style={
|
||||||
|
mbarplot base,
|
||||||
|
ybar,
|
||||||
|
xmajorgrids=false,
|
||||||
|
ymajorgrids=true,
|
||||||
|
area legend,
|
||||||
|
legend image code/.code={%
|
||||||
|
\draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
|
||||||
|
},
|
||||||
|
cycle list name=mbarplot cycle,
|
||||||
|
},
|
||||||
|
horizontal mbarplot/.style={
|
||||||
|
mbarplot base,
|
||||||
|
xmajorgrids=true,
|
||||||
|
ymajorgrids=false,
|
||||||
|
xbar stacked,
|
||||||
|
area legend,
|
||||||
|
legend image code/.code={%
|
||||||
|
\draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
|
||||||
|
},
|
||||||
|
cycle list name=mbarplot cycle,
|
||||||
|
},
|
||||||
|
mbaseplot/.style={
|
||||||
|
legend style={
|
||||||
|
draw=none,
|
||||||
|
fill=none,
|
||||||
|
cells={anchor=west},
|
||||||
|
},
|
||||||
|
x tick label style={
|
||||||
|
font=\footnotesize
|
||||||
|
},
|
||||||
|
y tick label style={
|
||||||
|
font=\footnotesize
|
||||||
|
},
|
||||||
|
legend style={
|
||||||
|
font=\footnotesize
|
||||||
|
},
|
||||||
|
major grid style={
|
||||||
|
dotted,
|
||||||
|
},
|
||||||
|
axis x line*=bottom,
|
||||||
|
},
|
||||||
|
disable thousands separator/.style={
|
||||||
|
/pgf/number format/.cd,
|
||||||
|
1000 sep={}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `pgfplotsthemetol.sty'.
|
BIN
doc/TO_Skia_LoJ/slides/slide.pdf
Normal file
BIN
doc/TO_Skia_LoJ/slides/slide.pdf
Normal file
Binary file not shown.
84
doc/TO_Skia_LoJ/slides/slide.tex
Normal file
84
doc/TO_Skia_LoJ/slides/slide.tex
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
\documentclass[10pt]{beamer}
|
||||||
|
\beamertemplatenavigationsymbolsempty
|
||||||
|
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{default}
|
||||||
|
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\graphicspath{{pictures/}}
|
||||||
|
|
||||||
|
\usepackage[french]{babel}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
|
\usetheme{metropolis}
|
||||||
|
%\usecolortheme{dove}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Université de Technologie de Belfort-Montbéliard\\
|
||||||
|
Département informatique}
|
||||||
|
\vskip 4em
|
||||||
|
\begin{center}
|
||||||
|
{\LARGE Développement de nouveaux modules sur le projet Sith}\\
|
||||||
|
\end{center}
|
||||||
|
\vskip 4em
|
||||||
|
Florent \textsc{Jacquet}\\
|
||||||
|
Guillaume \textsc{Renaud}\\
|
||||||
|
{\scriptsize TO52 - A16}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Sommaire}
|
||||||
|
\tableofcontents
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Eboutic}
|
||||||
|
\begin{frame}[fragile]\frametitle{Eboutic}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Fournir une boutique
|
||||||
|
\item Paiement en ligne en lien avec l'API du Credit Agricole
|
||||||
|
\item Gestion des cotisations et rechargements
|
||||||
|
\item Attention aux accès concurrentiels: pas visibles pendant le développement, car mono-thread, mais problèmes
|
||||||
|
à la mise en production
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Le SAS}
|
||||||
|
\label{sec:le_sas}
|
||||||
|
\begin{frame}[fragile]\frametitle{Le SAS - Stock à Souvenirs}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Galerie de photos
|
||||||
|
\item Upload simple pour tout le monde, même pour plusieurs dizaines de photos
|
||||||
|
\item Modération et gestion des droits basée sur la gestion des fichiers, ce qui a permis d'améliorer ces
|
||||||
|
derniers
|
||||||
|
\item Problèmes d'optimisation de certaines pages qui mettaient plus de 9 secondes à générer (plus que 2s
|
||||||
|
maintenant)
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]\frametitle{Les élections}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Grosse partie "gestion": c'est Sli qui a principalement développé l'application
|
||||||
|
\item Revue des \textsc{merges request} et choix de design
|
||||||
|
\item Problèmatique de législation vite ignorées puisque validation officielle en AG
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]\frametitle{La laverie}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Gestion d'un planning de reservation en prenant bien en compte les différents états (hors-service, ...) de
|
||||||
|
chaque machine
|
||||||
|
\item Génération de formulaires dynamiques en fonction des réservations (factory design pattern)
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]\frametitle{}
|
||||||
|
\begin{center}
|
||||||
|
\textbf{Merci de votre attention}\\
|
||||||
|
Questions?\\
|
||||||
|
Remarques?\\
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue
Block a user