Source: https://lim.univ-reunion.fr/staff/fred/M2info/18-19/Stages/Rapports/PATEL.pdf