--- /dev/null
+module Labo2.Main
+
+open System
+open CryptoFile
+
+let printUsage () =
+ printfn "%s [ tests | encrypt <in file> <out file> | decrypt <in file> <out dir> ]\n\
+ \ttests: Run some tests to valid the 'CryptoFile' assembly\n\
+ \tencrypt: Encrypt a file <in> to <out>\n\
+ \tdecrypt: Decrypt a file <in> to <out>" System.AppDomain.CurrentDomain.FriendlyName
+
+[<EntryPoint>]
+let main args =
+ printfn "Labo n°2"
+
+ let keySigPub, keySigPriv = API.generatKeysPair
+ let keyCryptPub, keyCryptPriv = API.generatKeysPair
+
+ match args with
+ | [| "tests" |] -> Tests.runAllTests ()
+ | [| "encrypt"; input; output |] -> API.encryptFile input output keySigPriv keyCryptPub
+ | [| "decrypt"; input; outputDir |] -> API.decryptFile input outputDir keySigPub keyCryptPriv
+ | _ -> printUsage ()
+ 0