vlc_introduction.tex 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Ce rapport formalise mon stage ingénieur de fin d'étude, réalisé de février 2018
  2. à août 2018. Il retrace une grande partie de mon travail au sein de l'entreprise
  3. VideoLabs, sponsorisant le développement d'un lecteur multimédia libre et bien
  4. connu: VLC. Le sujet principal de ce rapport sera la transformation de VLC pour
  5. introduire un modèle multi-processus à travers un fil rouge dédié au sandboxing.
  6. Le sandboxing consiste à isoler les parties de l'application en limitant leurs
  7. accès et permissions, et l'ajout de cette architecture multi-processus est
  8. nécessaire pour en réaliser une implémentation satisfaisante.
  9. En premier lieu, j'introduirai le fil principal de ce document, le sandboxing,
  10. en soulignant des concepts, des exemples d'attaques et de raisons d'appliquer
  11. ce type de mesure et en rajoutant un état de l'art du sandboxing dans les
  12. applications d'aujourd'hui.
  13. En second lieu, je ferai une présentation technique simple du fonctionnement
  14. interne de VLC pour couvrir les besoins des autres parties tout en mentionnant
  15. des points d'intérets pour l'implémentation de la sandbox.
  16. En troisème partie, je mettrai en avant mes recherches et les mécanismes que
  17. j'ai mis en place pour intégrer incrémentalement une architecture
  18. multi-processus au sein de VLC. La finalité de l'intégration de cette
  19. architecture est d'apporter du \og{}sandboxing\fg{} dans libvlc. Il s'agissait de la
  20. mission centrale de mon stage donc une grande attention sera portée à détailler
  21. le contexte, les problématiques à résoudre lors de son intégration, les
  22. difficultés rencontrées et les points à améliorer, de façon à offrir une trace
  23. réutilisable pour la compréhension du travail.
  24. En quatrième partie, je détaillerai tout particulièrement l'implémentation Linux
  25. et les solutions techniques pratiques liées aux points évoqués dans la partie
  26. précédente. S'agissant du modèle de référence et s'appuyant sur les travaux du
  27. précédent stagiaire Guillaume Fournier, la partie permettra de montrer
  28. réellement l'architecture multi-processus fonctionnelle et en place.
  29. En cinquième partie, j'ajouterai les missions supplémentaires auxquelles j'ai
  30. participé en détaillant leurs spécificités. Trois gros projets indépendants se
  31. détachent en particulier: l'écriture d'un encodeur matériel pour Android et la
  32. finalisation d'un projet de cinéma virtuel ainsi que d'un client BitTorrent
  33. pour VLC comprenant des travaux liés à ses dépendences. À cela s'ajoutent en
  34. outre des résolutions de bogues et des rajouts de fonctionnalités.