Source: https://perso.liris.cnrs.fr/gilles.gesquiere/Teaching/iut/A2/CCIN/sujet_tp_ccin_01.pdf