vlc_introduction.tex 2.6 KB

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