\section{Motivation} Une première méthode de cloisonnement qui n'a pas beaucoup été explorée est de cloisonner l'application par module et non par objet de libvlccore. Cette méthode permet d'arriver plus rapidement à une situation où l'ensemble des modules de VLC est cloisonné, mais libvlccore ne profite pas du tout de ce cloisonnement et il nous reste alors environ 100 000 lignes de code à auditer pour s'approcher de loin de la méthode précédente. Il est intéressant de mentionner cette technique du point de vue de l'architecture, étant donné qu'elle montre une autre façon de procéder à l'injection de la sandbox dans les modules et peut souligner de nouveaux défauts dans la conception du code. Comme on l'a vu dans les premières parties, VLC fonctionne à travers libvlccore en instanciant des modules, stockés dans des \inltype{vlc_object_t}. Chaque module étant créé puis détruit par le core, tout en fournissant une API commune au type de module, il peut être tentant de proposer de nouveaux modules avec un type similaire à celui demandé mais qui jouerait le rôle de passerelle vers le module réel dans un autre processus. Avec cette technique, le sandboxing est plus facile à intégrer dans l'application mais moins efficace. \section{Implémentation} La partie \og{}injection\fg{} consiste à complètement rediriger \inltype{module_need} vers le cœur de la sandbox pour transformer les requêtes de module vers des modules proxies. Le nom du module ou de la classe de module peut correspondre à une politique et permet ainsi de décider très finement et automatiquement quel module doit être redirigé vers un autre processus, nouveau ou déjà existant. C'est à ce moment que les étages définis précédemment vont intervenir pour permettre d'écrire le code de façon naturelle. Néanmoins, cette technique n'a pas été implémenté à cause des défauts d'isolation qu'elle possédait.