Le package [wrapfig][1] permet simplement de faire cela. Il est surtout fait pour répondre au cas numéro 3 (image empiétant sur le texte), mais en jouant sur les dimensions, il est possible de placer l'image entièrement dans la marge ou sur toute la colonne, et donc de répondre à tous les cas.
Pour le positionnement, on peut choisir r,l,i,o `r,l,i,o` (droite, gauche, intérieur et extérieur). En majuscule R,L,I,O, `R,L,I,O`, les wrapfig `wrapfig` sont flottant permettant de reposser repousser un wrapfig `wrapfig` à la page suivante si il se retrouve déborder à la fin d'une page.
Voilà un exemple minimal:
    \documentclass[a4paper]{article}
    % Essai de reproduction du layout suggéré (à affiner)
    \usepackage[left=2cm, marginparwidth=6cm, textwidth=10cm]{geometry}
    \usepackage{lipsum}
    \usepackage{todonotes} % Pour les missingfigure
    
    \usepackage{wrapfig}
    
    
    \begin{document}
    
    \begin{wrapfigure}[12]{R}[6cm]{5.5cm}
    %Figure sur [12] lignes, à d{R}oite,  dépassant de [6cm] dans la
    %marge, d'une taille de {5.5cm} 
    \missingfigure[figwidth=5.5cm]{Dans la marge}
    \end{wrapfigure}
    \lipsum[2-3]
    \begin{wrapfigure}[12]{R}[6cm]{12cm}
    %Figure sur [12] lignes, à d{R}oite,  dépassant de [6cm] dans la
    %marge, d'une taille de {12cm} 
    \missingfigure[figwidth=12cm]{Dans le texte}
    \end{wrapfigure}
    \lipsum[4]
    \missingfigure[figwidth=16cm]{Pleine largeur}
    \lipsum[6]
    
    \end{document}
![alt text][2]
  [1]: https://www.ctan.org/pkg/wrapfig
  [2]: http://texnique.fr:80/osqa/upfiles/test-0_UrOSy1T.png