123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- \documentclass{report}
- \usepackage[a4paper]{geometry}
- \usepackage[utf8x]{inputenc}
- \usepackage[T1]{fontenc}
- \usepackage[french]{babel}
- \usepackage[cyr]{aeguill}
- \usepackage{xspace}
- \usepackage{hyperref}
- \usepackage{svg}
- \hypersetup{breaklinks=true}
- \urlstyle{same}
- \usepackage{cite}
- \usepackage{graphicx}
- \usepackage[export]{adjustbox}
- \usepackage[nottoc, notlof, notlot]{tocbibind}
- \usepackage{minted}
- \usepackage{verbatim}
- \setlength{\parindent}{2em}
- \setlength{\parskip}{0.5em}
- \renewcommand{\baselinestretch}{1.4}
- \usemintedstyle{tango}
- % TODO: handle reference name
- \makeatletter
- \newenvironment{code}[2]
- {\VerbatimEnvironment
- %\begin{listing}[H]
- \begin{minted}[frame=lines,framesep=2mm,linenos,label=#2]{#1}}
- {\end{minted}
- %\end{listing}
- }
- \makeatother
- \usepackage{titlesec}
- % \titleformat
- % {\chapter} % command
- % [block] % shape
- % {\bfseries\Large} % format
- % {Chapitre \ \thechapter} % label
- % {0ex} % sep
- % {
- % \rule{\textwidth}{1pt}
- % \centering
- % } % before-code
- % [
- % \centering
- % \vspace{-1.5ex}%
- % \rule{\textwidth}{0.3pt}
- % ] % after-code
- \titleformat{\chapter}[frame]
- {\normalfont}
- {\filright
- \large
- \enspace Chapitre \thechapter\enspace}
- {8pt}
- {\Large\bfseries\filcenter}
- \titlespacing{\chapter}{0pc}{-5pc}{2pc}
- \newcommand{\inltype}[1]{\texttt{\detokenize{#1}}}
- \begin{document}
- \title{{\Huge{Rapport de stage --- VideoLabs}} \\
- Renforcement de la sécurité d'un lecteur vidéo multiplate-forme par séparation des privilèges}
- \author{Alexandre Janniaux}
- \date{19 septembre 2018}
- \begin{titlepage}
- \thispagestyle{empty}
- \newgeometry{top=1in,bottom=1in,right=1in,left=1in}
- \includegraphics[scale=0.25]{schemas/TELECOM_PARISTECH_IMT_grise_RVB.eps}\\[1cm]
- \center
- \vspace{-1em}
- \textsc{\huge Renforcement de la sécurité d'un lecteur vidéo multiplate-forme
- par séparation des privilèges}\\% Minor heading such as course title
- \vspace{1.5em}
- \center
- \includesvg[width=4cm]{schemas/Logo_videolabs_simple}
- \vspace{3em}
- \textsc{\LARGE Rapport de stage --- VideoLabs}\\[0.5cm] % Major heading such as course name
- \textsc{\LARGE Alexandre Janniaux}\\[0.5cm] % Name of your university/college
- \textsc{\Large19 septembre 2018}
- \vspace{2cm}
- \raggedleft
- \begin{minipage}[t]{0.55\textwidth}
- \large
- \begin{tabular}{ll}
- \textsc{Enseignant référant:} & \textsc{Samuel Tardieu} \\
- \textsc{Maitre de stage:} & \textsc{Thomas Guillem}
- \end{tabular}
- \end{minipage}
- \end{titlepage}
- \clearpage
- \section*{Remerciements}
- \input{chapters/thanks}
- \tableofcontents
- \chapter*{Introduction}
- \input{chapters/vlc_introduction}
- \part{VLC-sandbox, sécurité par isolation et limitation des capacités}
- \chapter{Qu'est-ce que le sandboxing}
- \input{chapters/what_is_sandboxing}
- \chapter{Pourquoi faire du sandboxing dans VLC}
- \input{chapters/why_sandboxing}
- \part{Fonctionnement de VLC}
- \chapter{Architecture modulaire}
- \input{chapters/vlc_explanations}
- \part{Abstractions apportées dans la sandbox}
- \chapter{Question d'architecture: broker vs orchestrateur}
- \input{chapters/sandbox_architecture}
- \chapter{Communication inter-processus}
- \input{chapters/sandbox_ipc}
- \chapter{Gestion des messages reçus: boucle événementielle}
- \input{chapters/sandbox_eventloop}
- \chapter{Gestion des blocs mémoires}
- \input{chapters/sandbox_memory_blocks}
- \chapter{Technique de sandboxing naïve, isolation par module}
- \input{chapters/sandbox_pattern_modules}
- \chapter{Gestion des objets de libvlccore, design pattern}
- \input{chapters/sandbox_pattern_libvlccore}
- \part{Implémentation de la sandbox sous Linux}
- \chapter{Passage de descripteur de fichiers entre processus}
- \input{chapters/linux_file_descriptor}
- \chapter{Gestion asynchrone des messages reçus}
- \input{chapters/linux_eventloop}
- % \chapter{Routage des messages dans les différents modèles}
- %
- % \chapter{Gestion des accès et permissions via socket unix et descripteur de fichiers}
- \part{Implémentation de la sandbox sous Windows}
- \chapter{Passage de descripteur de fichiers entre processus}
- \input{chapters/windows_ipc}
- \chapter{Gestion asynchrone des messages reçus}
- \input{chapters/windows_eventloop}
- %\chapter{Routage des messages dans le modèle broker}
- %
- %\chapter{Gestion des accès et de la mémoire via ACL}
- \part{Missions subsidiaires}
- \chapter{Ajout de fonctionnalités mineures et correction de bogues}
- \input{chapters/other_bug_features}
- \chapter{Implémentation d'un encodeur matériel sous Android}
- \input{chapters/other_android_mediacodec}
- \chapter{Finalisation d'un cinéma 3D virtuel}
- \input{chapters/cinema.tex}
- \chapter{Amélioration d'un module d'extraction de flux vidéos depuis des torrents}
- \input{chapters/torrent}
- \clearpage
- \section*{Conclusion}
- \input{chapters/conclusion}
- \bibliographystyle{plain}
- \bibliography{bibliography}
- \end{document}
|