Source: https://perso.imt-mines-albi.fr/~moghrabi/rapport/projet4a.PDF