Source: https://cours-examens.org/images/Etudes_superieures/Ingenieur_en_automatique/5eme_annee/informatique_industrielle/Analyse_et_programmation_II/APR2_2_Le_traitement_de_fichiers.pdf