Source: https://illig.perso.math.cnrs.fr/TPMASTER/Introduction_R_TP3.pdf