Source: http://bruno.maitresdumonde.com/pcsi2/maple/Programmation-2.pdf