\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}