Source: https://perso.isima.fr/~qurousseau1/Rapport_Stage.pdf