main.tex 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. \documentclass{report}
  2. \usepackage[a4paper]{geometry}
  3. \usepackage[utf8x]{inputenc}
  4. \usepackage[T1]{fontenc}
  5. \usepackage[french]{babel}
  6. \usepackage[cyr]{aeguill}
  7. \usepackage{xspace}
  8. \usepackage{minted}
  9. \usepackage{verbatim}
  10. % TODO: handle reference name
  11. \makeatletter
  12. \newenvironment{code}[2]
  13. {\VerbatimEnvironment
  14. \begin{listing}[htp]
  15. \begin{minted}[frame=lines,framesep=2mm,linenos,label=#2]{#1}}
  16. {\end{minted}
  17. \end{listing}}
  18. \makeatother
  19. \usepackage{titlesec}
  20. \titleformat
  21. {\chapter} % command
  22. [display] % shape
  23. {\bfseries\Large} % format
  24. {Chapitre \ \thechapter} % label
  25. {0.5ex} % sep
  26. {
  27. \rule{\textwidth}{1pt}
  28. \vspace{1ex}
  29. \centering
  30. } % before-code
  31. [
  32. \vspace{-0.5ex}%
  33. \rule{\textwidth}{0.3pt}
  34. ] % after-code
  35. \titlespacing{\chapter}{12pc}{0.5ex plus .1ex minus .2ex}{1pc}
  36. \newcommand{\inltype}[1]{\texttt{\detokenize{#1}}}
  37. \begin{document}
  38. \title{{\Huge{Rapport de stage --- VideoLabs}} \\
  39. Renforcement de la sécurité d'un lecteur vidéo multiplate-forme par séparation des privilèges}
  40. \author{Alexandre Janniaux}
  41. \date{19 septembre 2018}
  42. \maketitle
  43. \tableofcontents
  44. \chapter*{Introduction}
  45. \part{Fonctionnement de VLC}
  46. \chapter{Architecture modulaire}
  47. \input{chapters/vlc_explanations}
  48. \part{VLC-sandbox, sécurité par isolation et limitation des capacités}
  49. \chapter{Qu'est-ce que le sandboxing}
  50. \input{chapters/what_is_sandboxing}
  51. \chapter{Pourquoi faire du sandboxing dans VLC}
  52. \input{chapters/why_sandboxing}
  53. \part{Abstractions apportées dans la sandbox}
  54. \chapter{Question d'architecture: broker vs orchestrateur}
  55. \input{chapters/sandbox_architecture}
  56. \chapter{Communication inter-processus}
  57. \input{chapters/sandbox_ipc}
  58. \chapter{Initialisation des liens entre modules}
  59. \input{chapters/sandbox_init_links}
  60. \chapter{Gestion des messages reçus: boucle événementielle}
  61. \input{chapters/sandbox_eventloop}
  62. \chapter{Gestion des blocs mémoires}
  63. \input{chapters/sandbox_memory_blocks}
  64. \chapter{Gestion des objets de libvlccore, design pattern}
  65. \input{chapters/sandbox_pattern_libvlccore}
  66. \chapter{Technique de sandboxing alternative, isolation par module}
  67. \input{chapters/sandbox_pattern_modules}
  68. \part{Implémentation de la sandbox sous Linux}
  69. \chapter{Passage de descripteur de fichiers entre processus}
  70. \chapter{Gestion asynchrone des messages reçus}
  71. \chapter{Routage des messages dans les différents modèles}
  72. \chapter{Gestion des accès et permissions via socket unix et descripteur de fichiers}
  73. \part{Implémentation de la sandbox sous Windows}
  74. \chapter{Passage de descripteur de fichiers entre processus}
  75. \chapter{Gestion asynchrone des messages reçus}
  76. \chapter{Routage des messages dans le modèle broker}
  77. \chapter{Gestion des accès et de la mémoire via ACL}
  78. \part{Finalisation et optimisation d'un moteur de rendu pour la réalité virtuelle}
  79. \chapter{Qu'est-ce que la réalité virtuelle}
  80. \chapter{Objectifs du projet}
  81. \part{Missions subsidiaires}
  82. \chapter{Implémentation d'un encodeur matérielle sous Android}
  83. \input{chapters/other_android_mediacodec}
  84. \chapter{Correction d'un crash lors de la fermeture de l'application}
  85. \chapter{Fichiers vidéo au format Matroska défectueux dans VLC}
  86. \chapter{Ajout du support d'équalizer externe sur Android}
  87. \chapter{Amélioration d'un module torrent}
  88. \end{document}