L'algorithme (2) provient du code de Rémi Hutin.