Source: https://irma.math.unistra.fr/~michel/lecons_2018.pdf