Source: http://www.applis.univ-tours.fr/theses/2013/gabriel.ogalama_4872.pdf