Source: https://upcommons.upc.edu/bitstream/handle/2117/86617/Rapport de stage.pdf?sequence=1