Add defense
This commit is contained in:
parent
c3c05e2f38
commit
3dbbbe16e7
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<documents written_in="fr">
|
<documents written_in="fr">
|
||||||
|
|
||||||
<slides name="slides">
|
<slides name="defense">
|
||||||
<date>2014-09-04T14:45</date>
|
<date>2014-09-04T14:45</date>
|
||||||
</slides>
|
</slides>
|
||||||
|
|
||||||
|
44
slides/Makefile
Normal file
44
slides/Makefile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
DOCNAME = defense
|
||||||
|
TARGET = defense.pdf
|
||||||
|
|
||||||
|
RM ?= rm -f
|
||||||
|
MPP = perl -I../mpp ../mpp/mpp
|
||||||
|
MPPFLAGS =
|
||||||
|
PANDOC = pandoc
|
||||||
|
PANDOCFLAGS = --latex-engine=xelatex --listings --toc --no-tex-ligatures --normalize --slide-level=2 -M lang=frenchb
|
||||||
|
BUTLER = perl -I../butler/src ../butler.pl
|
||||||
|
BUTLERFLAGS = --docname=${DOCNAME} --xml=../internship.xml
|
||||||
|
LATEX = xelatex
|
||||||
|
LATEXFLAGS = -halt-on-error -no-shell-escape
|
||||||
|
|
||||||
|
DEPS := ../internship.xml $(shell ${MPP} --list-includes ${TARGET:.pdf=.md})
|
||||||
|
|
||||||
|
all: ${TARGET}
|
||||||
|
|
||||||
|
assistant: MPPFLAGS += --assistant
|
||||||
|
|
||||||
|
assistant: all
|
||||||
|
|
||||||
|
clean:
|
||||||
|
${RM} ${TARGET}
|
||||||
|
|
||||||
|
${TARGET}: ${DEPS}
|
||||||
|
|
||||||
|
.md.mppmd:
|
||||||
|
${MPP} ${MPPFLAGS} $< > $@
|
||||||
|
|
||||||
|
.mppmd.tex:
|
||||||
|
${PANDOC} ${PANDOCFLAGS} -t beamer --template=../templates/nemu/beamer/template.tex -o $@ $<
|
||||||
|
|
||||||
|
#.mppmd.maintex:
|
||||||
|
# ${PANDOC} ${PANDOCFLAGS} -t latex -o $@ $<
|
||||||
|
|
||||||
|
#.maintex.tex:
|
||||||
|
# ${BUTLER} ${BUTLERFLAGS} --main=$< > $@
|
||||||
|
|
||||||
|
.tex.pdf:
|
||||||
|
${LATEX} ${LATEXFLAGS} -jobname=${@:%.pdf=%} $<
|
||||||
|
${LATEX} ${LATEXFLAGS} -jobname=${@:%.pdf=%} $< >/dev/null
|
||||||
|
${RM} ${@:.pdf=.aux} ${@:.pdf=.log} ${@:.pdf=.out} ${@:.pdf=.toc}
|
||||||
|
|
||||||
|
.SUFFIXES: .md .mppmd .maintex .tex .pdf
|
134
slides/defense.md
Normal file
134
slides/defense.md
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
% Soutenance de stage de fin d'études
|
||||||
|
% Pierre-Olivier Mercier
|
||||||
|
% Jeudi 4 septembre 2014
|
||||||
|
|
||||||
|
# Novaquark
|
||||||
|
|
||||||
|
## L'entreprise
|
||||||
|
|
||||||
|
* Startup fondée en janvier 2014 ;
|
||||||
|
* fondée par Jean-Christophe Baillie ;
|
||||||
|
* de 4 collaborateurs à 14 aujourd'hui ;
|
||||||
|
* actuellement dans l'incubateur Agoranov.
|
||||||
|
|
||||||
|
%%image(../templates/nemu/images/nq-high.png)
|
||||||
|
|
||||||
|
## L'objet
|
||||||
|
|
||||||
|
%%image(../report/img/dual-dark.png, 0.5)
|
||||||
|
|
||||||
|
* Jeu-vidéo MMO ;
|
||||||
|
* monde unique, éditable, rendu par *Voxel* ;
|
||||||
|
* économie, gameplay émergent : où les joueurs construisent leur propre jeu via leurs interactions.
|
||||||
|
|
||||||
|
## Visuel du jeu
|
||||||
|
|
||||||
|
TODO image voxel + visuel du jeu
|
||||||
|
|
||||||
|
|
||||||
|
# Le stage
|
||||||
|
|
||||||
|
## Présentation du sujet
|
||||||
|
|
||||||
|
* Travail avec l'équipe en charge du serveur ;
|
||||||
|
* mise en place des bases de l'infrastructure de mise à l'échelle :
|
||||||
|
* virtualisation, *cloud computing* ;
|
||||||
|
* relevé de métriques,
|
||||||
|
* déploiement centralisé,
|
||||||
|
* sécurité du cluster ;
|
||||||
|
* tests de montée en charge du serveur :
|
||||||
|
* déploiement automatique,
|
||||||
|
* dans les nuages.
|
||||||
|
|
||||||
|
|
||||||
|
# Travail effectué
|
||||||
|
|
||||||
|
## États de l'art
|
||||||
|
|
||||||
|
### Plates-formes d'infrastructure en tant que service (IaaS)
|
||||||
|
|
||||||
|
* Amazon Web Services Elastic Cloud 2 ;
|
||||||
|
* Google Compute Engine.
|
||||||
|
|
||||||
|
### Outils de déploiement automatique
|
||||||
|
|
||||||
|
* Ansible, Chef, Puppet ;
|
||||||
|
* Capistrano, Fabric, ...
|
||||||
|
|
||||||
|
### Solutions de virtualisation
|
||||||
|
|
||||||
|
* Linux Containers (LXC), Docker ;
|
||||||
|
* Oracle VirtualBox, Linux KVM.
|
||||||
|
|
||||||
|
|
||||||
|
## Réponses à des problématiques
|
||||||
|
|
||||||
|
### Chat en jeu
|
||||||
|
|
||||||
|
* XMPP : jabberd*, ejabberd, prosody, ...
|
||||||
|
* IRC, Zephyr, ...
|
||||||
|
|
||||||
|
### Authentification centralisée
|
||||||
|
|
||||||
|
* LDAP : centralisation ;
|
||||||
|
* Kerberos : jeu/serveurs et services en jeu (chat, ...).
|
||||||
|
|
||||||
|
### Utilisation du serveur par les développeurs
|
||||||
|
|
||||||
|
* Machine virtuelle personnelle ;
|
||||||
|
* interface de gestion simplifiée.
|
||||||
|
|
||||||
|
|
||||||
|
## Conception de recettes de déploiement
|
||||||
|
|
||||||
|
### Via Ansible
|
||||||
|
|
||||||
|
* Serveur de monitoring ;
|
||||||
|
* serveur de jeu ;
|
||||||
|
* serveur de conteneurs génériques.
|
||||||
|
|
||||||
|
### via Docker
|
||||||
|
|
||||||
|
* Site web du jeu ;
|
||||||
|
* forum ;
|
||||||
|
* supervision ;
|
||||||
|
* LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
## Programme de relevé de métriques système
|
||||||
|
|
||||||
|
### sysinfo_influxdb
|
||||||
|
|
||||||
|
* Projet libre sous licence CC0 ;
|
||||||
|
* disponible sur GitHub ;
|
||||||
|
* écrit en Go (*linkage* statique) ;
|
||||||
|
* utilise la base de données InfluxDB.
|
||||||
|
|
||||||
|
### Métriques relevées
|
||||||
|
|
||||||
|
* Utilisation du CPU ;
|
||||||
|
* mémoire disponible ;
|
||||||
|
* bande passante utilisée ;
|
||||||
|
* entrées/sorties disques ;
|
||||||
|
* charge, *uptime*.
|
||||||
|
|
||||||
|
|
||||||
|
## Tests de montée en charge
|
||||||
|
|
||||||
|
### Sur Amazon Web Services EC2
|
||||||
|
|
||||||
|
* Déploiement de machines virtuelles ;
|
||||||
|
* analyse des résultats : métriques, goulots d'étranglements ;
|
||||||
|
* profiling du code en charge.
|
||||||
|
|
||||||
|
|
||||||
|
# Conclusion
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
### J'ai pu travailler:
|
||||||
|
|
||||||
|
* avec des notions avant-gardistes : problèmatiques d'un monde unique réparti ;
|
||||||
|
* sur des technologies d'avenir émergentes : virtualisation légère, conteneurs applicatifs ;
|
||||||
|
* sur des sujets récurents : *cloud computing*, déploiement, sécurité ;
|
||||||
|
* pour et avec des projets libres : Ansible, InfluxDB, SBT, ...
|
@ -1,6 +1,7 @@
|
|||||||
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$]{$documentclass$}
|
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$]{$documentclass$}
|
||||||
|
\usepackage{tikz}
|
||||||
\usetheme{Darmstadt}
|
\usetheme{Darmstadt}
|
||||||
\setbeamercolor{structure}{fg=black, bg=white}
|
\setbeamercolor{structure}{fg=black, bg=black}
|
||||||
\setbeamercovered{dynamic}
|
\setbeamercovered{dynamic}
|
||||||
|
|
||||||
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
|
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
|
||||||
@ -10,6 +11,23 @@
|
|||||||
\setbeamercolor*{section in head/foot}{parent=palette tertiary}
|
\setbeamercolor*{section in head/foot}{parent=palette tertiary}
|
||||||
\setbeamercolor*{subsection in head/foot}{parent=palette primary}
|
\setbeamercolor*{subsection in head/foot}{parent=palette primary}
|
||||||
|
|
||||||
|
\pgfdeclareimage[height=\the\paperheight]{backgroundImage}{images/background}
|
||||||
|
|
||||||
|
\setbeamertemplate{background}{
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\useasboundingbox (0,0) rectangle (\the\paperwidth, \the\paperheight) ;
|
||||||
|
|
||||||
|
\pgftext[at=\pgfpoint{-70pt}{0cm},left,base]{\pgfuseimage{backgroundImage}} ;
|
||||||
|
|
||||||
|
|
||||||
|
\ifnum\thepage>0\relax%
|
||||||
|
\fill[white, opacity=0.4] (0cm, 0cm) -- (0cm, 1.0\paperwidth) -- (1.0\paperwidth, 1.0\paperwidth) -- (1.0\paperwidth, 0cm) ;
|
||||||
|
\fi
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
||||||
|
|
||||||
|
\setbeamertemplate{blocks}[rounded][shadow=false]
|
||||||
|
|
||||||
\setbeamertemplate{footline}
|
\setbeamertemplate{footline}
|
||||||
{
|
{
|
||||||
\leavevmode%
|
\leavevmode%
|
||||||
@ -117,6 +135,8 @@ $if(verbatim-in-note)$
|
|||||||
$endif$
|
$endif$
|
||||||
$if(tables)$
|
$if(tables)$
|
||||||
\usepackage{longtable}
|
\usepackage{longtable}
|
||||||
|
\setmainfont[Ligatures=Common]{LinBiolinum}
|
||||||
|
|
||||||
% These lines are needed to make table captions work with longtable:
|
% These lines are needed to make table captions work with longtable:
|
||||||
\makeatletter
|
\makeatletter
|
||||||
\def\fnum@table{\tablename~\thetable}
|
\def\fnum@table{\tablename~\thetable}
|
||||||
@ -184,17 +204,17 @@ $if(title)$
|
|||||||
\title{$title$}
|
\title{$title$}
|
||||||
$endif$
|
$endif$
|
||||||
$if(author)$
|
$if(author)$
|
||||||
\author{$for(author)$$author$$sep$ \and $endfor$}
|
\author[$for(author)$$author$$sep$ \and $endfor$]{$for(author)$$author$$sep$ \and $endfor$\newline\scriptsize{sous la direction de M. Jean-Christophe Baillie}}
|
||||||
$endif$
|
$endif$
|
||||||
$if(date)$
|
$if(date)$
|
||||||
\date{$date$}
|
\date{$date$}
|
||||||
$endif$
|
$endif$
|
||||||
|
|
||||||
\pgfdeclareimage[height=3.4cm]{assistant-logo}{images/assistants}
|
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true]
|
||||||
\institute{\pgfuseimage{assistant-logo}}
|
\pgfdeclareimage[width=\textwidth]{nq-logo}{images/nq-high}
|
||||||
|
\institute{\pgfuseimage{nq-logo}}
|
||||||
\logo{\includegraphics[scale=0.1]{images/epita}}
|
|
||||||
|
|
||||||
|
%\logo{\includegraphics[scale=0.1]{images/background}}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
$if(title)$
|
$if(title)$
|
||||||
|
BIN
templates/nemu/images/background.jpg
Normal file
BIN
templates/nemu/images/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 528 KiB |
Reference in New Issue
Block a user