Source: https://pixees.fr/informatiquelycee/term/suj_bac/2021/sujet_10.pdf