type filesystem = | File of string * int (* nom, taille en octets *) | Dir of string * filesystem list (* nom, contenu *) exception Not_Found let ex = Dir("/", [ Dir("Bureau", [File("wallpaper.png", 16)]); Dir("Documents", [File("notes.txt", 256); File("impots.pdf", 64)]); Dir ("src", [File ("main.ml", 8); File ("utils.ml", 5)]) ]) (* let rec compte_fichier ... *) (* val compte_fichier : filesystem -> int = *) (* let rec taille_totale ... *) (* val taille_totale : filesystem -> int = *) (* let rec fichier_existe ... *) (* val fichier_existe : string -> filesystem -> bool = *) (* let rec fichier_chemin ... *) (* val fichier_chemin : string -> filesystem -> string list = *) (* a faire seulement si vous avez le temps *) (* let rec inserer ... *) (* val inserer : string -> filesystem -> filesystem -> filesystem = *)