From dd483514d0bb94538f75f411c442c28b0156558b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Optimal=20Sup-Sp=C3=A9?= Date: Thu, 6 Oct 2022 15:04:40 +0200 Subject: [PATCH] Preparing for v1 --- src/Evergreen/V1/CalculateurDeNotes.elm | 34 +++++++++++++++++++ src/Evergreen/V1/GenerateurDeProblemes.elm | 15 +++++++++ src/Evergreen/V1/GenerateurH5P.elm | 31 ++++++++++++++++++ src/Evergreen/V1/GenerateurJson.elm | 15 +++++++++ src/Evergreen/V1/Internal/Format.elm | 35 ++++++++++++++++++++ src/Evergreen/V1/Prof.elm | 38 ++++++++++++++++++++++ src/Evergreen/V1/Types.elm | 27 +++++++++++++++ src/Evergreen/V1/Zip.elm | 7 ++++ 8 files changed, 202 insertions(+) create mode 100644 src/Evergreen/V1/CalculateurDeNotes.elm create mode 100644 src/Evergreen/V1/GenerateurDeProblemes.elm create mode 100644 src/Evergreen/V1/GenerateurH5P.elm create mode 100644 src/Evergreen/V1/GenerateurJson.elm create mode 100644 src/Evergreen/V1/Internal/Format.elm create mode 100644 src/Evergreen/V1/Prof.elm create mode 100644 src/Evergreen/V1/Types.elm create mode 100644 src/Evergreen/V1/Zip.elm diff --git a/src/Evergreen/V1/CalculateurDeNotes.elm b/src/Evergreen/V1/CalculateurDeNotes.elm new file mode 100644 index 0000000..ae75095 --- /dev/null +++ b/src/Evergreen/V1/CalculateurDeNotes.elm @@ -0,0 +1,34 @@ +module Evergreen.V1.CalculateurDeNotes exposing (..) + + +type alias Reponses = + List String + + +type alias Eleve = + { numeroEtudiant : String + , numeroSujet : Int + , nomEtudiant : String + , prenomEtudiant : String + , reponses : Reponses + , note : Maybe Float + } + + +type alias Eleves = + List Eleve + + +type alias Model = + { bareme : String + , reponsesCorrectes : String + , reponsesEleves : String + , eleves : Eleves + } + + +type Msg + = NouveauBareme String + | NouvellesReponsesCorrectes String + | NouvellesReponsesEleves String + | TelechargerNotes diff --git a/src/Evergreen/V1/GenerateurDeProblemes.elm b/src/Evergreen/V1/GenerateurDeProblemes.elm new file mode 100644 index 0000000..2b60540 --- /dev/null +++ b/src/Evergreen/V1/GenerateurDeProblemes.elm @@ -0,0 +1,15 @@ +module Evergreen.V1.GenerateurDeProblemes exposing (..) + + +type alias Model = + { structureDuSujet : String + , sujetGenere : String + } + + +type Msg + = StructureDuSujet String + | GenererSujetAleatoire + | GenererVariantesSujet + | SujetGenere String + | TelechargerSujet diff --git a/src/Evergreen/V1/GenerateurH5P.elm b/src/Evergreen/V1/GenerateurH5P.elm new file mode 100644 index 0000000..d6ca111 --- /dev/null +++ b/src/Evergreen/V1/GenerateurH5P.elm @@ -0,0 +1,31 @@ +module Evergreen.V1.GenerateurH5P exposing (..) + +import Evergreen.V1.Zip +import File +import Time + + +type alias H5pArchive = + Evergreen.V1.Zip.Zip + + +type alias Model = + { source : String + , generatedContent : List String + , originalH5pArchive : H5pArchive + , generatedH5pArchives : List H5pArchive + , zone : Time.Zone + , time : Time.Posix + } + + +type Msg + = UpdateTime + | NewTime ( Time.Zone, Time.Posix ) + | NewContent (List String) + | Generate String + | GenerateArchive + | Download + | TakeOriginalH5pArchive + | H5pArchiveLoaded File.File + | ZipArchiveLoaded (Maybe H5pArchive) diff --git a/src/Evergreen/V1/GenerateurJson.elm b/src/Evergreen/V1/GenerateurJson.elm new file mode 100644 index 0000000..80f9c91 --- /dev/null +++ b/src/Evergreen/V1/GenerateurJson.elm @@ -0,0 +1,15 @@ +module Evergreen.V1.GenerateurJson exposing (..) + + +type alias Model = + { nomObjet : String + , sourceJson : String + , codeElmGenere : String + } + + +type Msg + = NomObjet String + | SourceJson String + | GenererCodeElm + | TelechargerCodeElm diff --git a/src/Evergreen/V1/Internal/Format.elm b/src/Evergreen/V1/Internal/Format.elm new file mode 100644 index 0000000..1392efa --- /dev/null +++ b/src/Evergreen/V1/Internal/Format.elm @@ -0,0 +1,35 @@ +module Evergreen.V1.Internal.Format exposing (..) + +import Bytes + + +type EntryBytes + = Exactly Bytes.Bytes + | Offset Bytes.Bytes Int + + +type CompressionMethod + = Stored + | Deflated + | Unsupported Int + + +type alias EntryMeta = + { madeBy : Int + , extractMinVersion : Int + , flag : Int + , compressionMethod : CompressionMethod + , lastModified : Int + , crc32 : Int + , compressedSize : Int + , uncompressedSize : Int + , fileName : String + , extraField : Bytes.Bytes + , comment : String + , internalAttributes : Int + , externalAttributes : Int + } + + +type Entry + = Entry EntryBytes EntryMeta diff --git a/src/Evergreen/V1/Prof.elm b/src/Evergreen/V1/Prof.elm new file mode 100644 index 0000000..cba41a8 --- /dev/null +++ b/src/Evergreen/V1/Prof.elm @@ -0,0 +1,38 @@ +module Evergreen.V1.Prof exposing (..) + +import Browser +import Browser.Navigation +import Evergreen.V1.CalculateurDeNotes +import Evergreen.V1.GenerateurDeProblemes +import Evergreen.V1.GenerateurH5P +import Evergreen.V1.GenerateurJson +import Url + + +type Page + = GenerateurDeProblemes + | CalculateurDeNotes + | GenerateurH5P + | GenerateurJson + + +type alias Model = + { key : Browser.Navigation.Key + , url : Url.Url + , page : Page + , largeur : Int + , hauteur : Int + , modeleGenerateurDeProblemes : Evergreen.V1.GenerateurDeProblemes.Model + , modeleCalculateurDeNotes : Evergreen.V1.CalculateurDeNotes.Model + , modeleGenerateurH5P : Evergreen.V1.GenerateurH5P.Model + , modeleGenerateurJson : Evergreen.V1.GenerateurJson.Model + } + + +type Msg + = LinkClicked Browser.UrlRequest + | UrlChanged Url.Url + | CalculateurDeNotesMsg Evergreen.V1.CalculateurDeNotes.Msg + | GenerateurDeProblemesMsg Evergreen.V1.GenerateurDeProblemes.Msg + | GenerateurH5PMsg Evergreen.V1.GenerateurH5P.Msg + | GenerateurJsonMsg Evergreen.V1.GenerateurJson.Msg diff --git a/src/Evergreen/V1/Types.elm b/src/Evergreen/V1/Types.elm new file mode 100644 index 0000000..abb3dba --- /dev/null +++ b/src/Evergreen/V1/Types.elm @@ -0,0 +1,27 @@ +module Evergreen.V1.Types exposing (..) + +import Evergreen.V1.Prof + + +type alias FrontendModel = + Evergreen.V1.Prof.Model + + +type alias BackendModel = + {} + + +type alias FrontendMsg = + Evergreen.V1.Prof.Msg + + +type ToBackend + = NoOpToBackend + + +type BackendMsg + = NoOpBackendMsg + + +type ToFrontend + = NoOpToFrontend diff --git a/src/Evergreen/V1/Zip.elm b/src/Evergreen/V1/Zip.elm new file mode 100644 index 0000000..e2bab79 --- /dev/null +++ b/src/Evergreen/V1/Zip.elm @@ -0,0 +1,7 @@ +module Evergreen.V1.Zip exposing (..) + +import Evergreen.V1.Internal.Format + + +type Zip + = Zip (List Evergreen.V1.Internal.Format.Entry)