From a0ba368ff9e8bd3cee8ac496f826c36ce101130f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20Mogu=C3=A9rou?= Date: Wed, 19 Jul 2023 01:34:21 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20ergonomique=20et=20fonct?= =?UTF-8?q?ionnelle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BCG/calcul.js | 227 ------------------- BCG/index.html | 521 +++++++++++++------------------------------ BCG/update.js | 31 +++ BCT/calcul.js | 216 ------------------ BCT/index.html | 496 ++++++++++++----------------------------- BCT/update.js | 30 +++ BFI/calcul.js | 243 -------------------- BFI/index.html | 593 ++++++++++++++++--------------------------------- BFI/update.js | 38 ++++ res/calcul.js | 89 ++++++++ res/style.css | 187 +++++++++------- 11 files changed, 773 insertions(+), 1898 deletions(-) delete mode 100755 BCG/calcul.js create mode 100755 BCG/update.js delete mode 100755 BCT/calcul.js create mode 100755 BCT/update.js delete mode 100755 BFI/calcul.js create mode 100755 BFI/update.js create mode 100644 res/calcul.js diff --git a/BCG/calcul.js b/BCG/calcul.js deleted file mode 100755 index f5f8668..0000000 --- a/BCG/calcul.js +++ /dev/null @@ -1,227 +0,0 @@ -function update() { - /* ------------- Contrôle continu ------------- */ - - let total_CC = 0; - - // EMC - let note_emc_1re = document.getElementById("note-emc-1re").value; - let points_emc_1re = 1 * note_emc_1re - document.getElementById("points-emc-1re").innerHTML = points_emc_1re.toLocaleString("fr"); - total_CC += points_emc_1re; - - let note_emc_tle = document.getElementById("note-emc-tle").value; - let points_emc_tle = 1 * note_emc_tle - document.getElementById("points-emc-tle").innerHTML = points_emc_tle.toLocaleString("fr"); - total_CC += points_emc_tle; - - // HG - let note_hg_1re = document.getElementById("note-hg-1re").value; - let points_hg_1re = 3 * note_hg_1re - document.getElementById("points-hg-1re").innerHTML = points_hg_1re.toLocaleString("fr"); - total_CC += points_hg_1re; - - let note_hg_tle = document.getElementById("note-hg-tle").value; - let points_hg_tle = 3 * note_hg_tle - document.getElementById("points-hg-tle").innerHTML = points_hg_tle.toLocaleString("fr"); - total_CC += points_hg_tle; - - // LVA - let note_lva_1re = document.getElementById("note-lva-1re").value; - let points_lva_1re = 3 * note_lva_1re - document.getElementById("points-lva-1re").innerHTML = points_lva_1re.toLocaleString("fr"); - total_CC += points_lva_1re; - - let note_lva_tle = document.getElementById("note-lva-tle").value; - let points_lva_tle = 3 * note_lva_tle - document.getElementById("points-lva-tle").innerHTML = points_lva_tle.toLocaleString("fr"); - total_CC += points_lva_tle; - - // LVB - let note_lvb_1re = document.getElementById("note-lvb-1re").value; - let points_lvb_1re = 3 * note_lvb_1re - document.getElementById("points-lvb-1re").innerHTML = points_lvb_1re.toLocaleString("fr"); - total_CC += points_lvb_1re; - - let note_lvb_tle = document.getElementById("note-lvb-tle").value; - let points_lvb_tle = 3 * note_lvb_tle - document.getElementById("points-lvb-tle").innerHTML = points_lvb_tle.toLocaleString("fr"); - total_CC += points_lvb_tle; - - // ES - let note_es_1re = document.getElementById("note-es-1re").value; - let points_es_1re = 3 * note_es_1re - document.getElementById("points-es-1re").innerHTML = points_es_1re.toLocaleString("fr"); - total_CC += points_es_1re; - - let note_es_tle = document.getElementById("note-es-tle").value; - let points_es_tle = 3 * note_es_tle - document.getElementById("points-es-tle").innerHTML = points_es_tle.toLocaleString("fr"); - total_CC += points_es_tle; - - // EPS - let note_eps_tle = document.getElementById("note-eps-tle").value; - let points_eps_tle = 6 * note_eps_tle - document.getElementById("points-eps-tle").innerHTML = points_eps_tle.toLocaleString("fr"); - total_CC += points_eps_tle; - - // Spé 3 - let note_spe3_1re = document.getElementById("note-spe3-1re").value; - let points_spe3_1re = 8 * note_spe3_1re - document.getElementById("points-spe3-1re").innerHTML = points_spe3_1re.toLocaleString("fr"); - total_CC += points_spe3_1re; - - - document.getElementById("total-points-CC").innerHTML = total_CC.toLocaleString("fr") - - - /* ------------- Épreuves terminales ------------- */ - - let total_terminal = 0; - - // Français écrit - let note_fr_ecrit = document.getElementById("note-fr-ecrit").value; - let points_fr_ecrit = 5 * note_fr_ecrit - document.getElementById("points-fr-ecrit").innerHTML = points_fr_ecrit.toLocaleString("fr"); - total_terminal += points_fr_ecrit; - - // Français oral - let note_fr_oral = document.getElementById("note-fr-oral").value; - let points_fr_oral = 5 * note_fr_oral - document.getElementById("points-fr-oral").innerHTML = points_fr_oral.toLocaleString("fr"); - total_terminal += points_fr_oral; - - // Philosophie - let note_philo = document.getElementById("note-philo").value; - let points_philo = 8 * note_philo - document.getElementById("points-philo").innerHTML = points_philo.toLocaleString("fr"); - total_terminal += points_philo; - - // Grand oral - let note_go = document.getElementById("note-go").value; - let points_go = 10 * note_go - document.getElementById("points-go").innerHTML = points_go.toLocaleString("fr"); - total_terminal += points_go; - - // Spé 1 - let note_spe1 = document.getElementById("note-spe1").value; - let points_spe1 = 16 * note_spe1 - document.getElementById("points-spe1").innerHTML = points_spe1.toLocaleString("fr"); - total_terminal += points_spe1; - - // Spé 2 - let note_spe2 = document.getElementById("note-spe2").value; - let points_spe2 = 16 * note_spe2 - document.getElementById("points-spe2").innerHTML = points_spe2.toLocaleString("fr"); - total_terminal += points_spe2; - - - document.getElementById("total-points-terminal").innerHTML = total_terminal.toLocaleString("fr") - - /* ------------- Options ------------- */ - - let total_options = 0; - let coef_options = 0; - - if (document.getElementById("check-lca-1re").checked) { - document.getElementById("coef-lca-1re").innerHTML = "2"; - coef_options += 2; - let points_lca_1re = 2*document.getElementById("note-lca-1re").value; - total_options += points_lca_1re; - document.getElementById("points-lca-1re").innerHTML = points_lca_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-lca-1re").innerHTML = "2"; - document.getElementById("points-lca-1re").innerHTML = "0"; - } - - if (document.getElementById("check-lca-tle").checked) { - document.getElementById("coef-lca-tle").innerHTML = "2"; - coef_options += 2; - let points_lca_tle = 2*document.getElementById("note-lca-tle").value; - total_options += points_lca_tle; - document.getElementById("points-lca-tle").innerHTML = points_lca_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-lca-tle").innerHTML = "2"; - document.getElementById("points-lca-tle").innerHTML = "0"; - } - - if (document.getElementById("check-opt1-1re").checked) { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - coef_options += 2; - let points_opt1_1re = 2*document.getElementById("note-opt1-1re").value; - total_options += points_opt1_1re; - document.getElementById("points-opt1-1re").innerHTML = points_opt1_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - document.getElementById("points-opt1-1re").innerHTML = "0"; - } - - if (document.getElementById("check-opt1-tle").checked) { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - coef_options += 2; - let points_opt1_tle = 2*document.getElementById("note-opt1-tle").value; - total_options += points_opt1_tle; - document.getElementById("points-opt1-tle").innerHTML = points_opt1_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - document.getElementById("points-opt1-tle").innerHTML = "0"; - } - - if (document.getElementById("check-opt2").checked) { - document.getElementById("coef-opt2").innerHTML = "2"; - coef_options += 2; - let points_opt2 = 2*document.getElementById("note-opt2").value; - total_options += points_opt2; - document.getElementById("points-opt2").innerHTML = points_opt2.toLocaleString("fr"); - } else { - document.getElementById("coef-opt2").innerHTML = "2"; - document.getElementById("points-opt2").innerHTML = "0"; - } - - document.getElementById("total-coef-options").innerHTML = coef_options.toLocaleString("fr"); - document.getElementById("total-points-options").innerHTML = total_options.toLocaleString("fr"); - - // CALCUL - - let total_points = total_CC + total_terminal + total_options; - document.getElementById("total-points").innerHTML = total_points.toLocaleString("fr"); - let total_coef = 100 + coef_options; - document.getElementById("total-coef").innerHTML = total_coef.toLocaleString("fr"); - let note_brute = total_points/total_coef; - let note_finale = Math.ceil(100*note_brute)/100; - document.getElementById("note-finale").innerHTML = note_finale.toLocaleString("fr"); - - let decision; - let sup_mention_actuelle; - if (note_finale < 8) { - decision = "Ajourné" - sup_mention_actuelle = 7.99*total_coef - } else if (note_finale < 10) { - decision = "Passe le second groupe"; - sup_mention_actuelle = 9.99*total_coef - } else if (note_finale < 12) { - decision = "Admis"; - sup_mention_actuelle = 11.99*total_coef - } else if (note_finale < 14) { - decision = "Admis Mention Assez Bien"; - sup_mention_actuelle = 13.99*total_coef - } else if (note_finale < 16) { - decision = "Admis Mention Bien"; - sup_mention_actuelle = 15.99*total_coef - } else if (note_finale < 18) { - decision = "Admis Mention Très Bien"; - sup_mention_actuelle = 17.99*total_coef - } else { - decision = "Admis Mention Très Bien avec les félicitations du jury"; - sup_mention_actuelle = NaN - } - - if (note_finale < 18) { - let points_mention_suivante = Math.ceil(10*(sup_mention_actuelle - total_points + .01))/10 - document.getElementById("points-manquants").innerHTML = points_mention_suivante.toLocaleString("fr"); - } else { - document.getElementById("points-manquants").innerHTML = "-"; - } - - - document.getElementById("decision-jury").innerHTML = decision; -} \ No newline at end of file diff --git a/BCG/index.html b/BCG/index.html index be6d5f7..9d9fe12 100755 --- a/BCG/index.html +++ b/BCG/index.html @@ -12,7 +12,8 @@ - + +
@@ -55,376 +56,160 @@ En savoir plus -
-
- Contrôle continu - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
Coef.NotePointsCoef.NotePoints
Enseignement moral et civique1 - - - - - 1 - - - - -
Langue vivante A3 - - - - - 3 - - - - -
Langue vivante B3 - - - - - 3 - - - - -
Histoire-géographie3 - - - - - 3 - - - - -
Enseignement scientifique3 - - - - - 3 - - - - -
Éducation physique et sportive6 - - - - -
Spécialité 3 abandonnée8 - - - - -
TotauxTotal des coefficients : 40Total des points : 0
+ +
+
Matière
+
Coef.
+
Première
+
Terminale
+
Points
+
+

Contrôle continu

+
+
+
Enseignement moral et civique
+
2
+
+
+
-
-
- Épreuves terminales - -

Remarque : Seules ces épreuves peuvent faire l'objet d'un éventuel rattrapage (sauf épreuve orale terminale).

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièreCoef.1er groupe
NotePoints
Français écrit5 - - - - -
Français oral5 - - - - -
Philosophie8 - - - - -
Épreuve orale terminale (Grand oral)10 - - - - -
Spécialité 116 - - - - -
Spécialité 216 - - - - -
Totaux60
+
+
Langue vivante A
+
6
+
+
+
-
-
- Option(s) - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
?Coef.NotePoints?Coef.NotePoints
Langues et cultures de l'Antiquité - - - 2 - - - - - - - - 2 - - - - -
Option suivie au cours du cycle terminal (ex: Arts/LV3) - - - 2 - - - - - - - - 2 - - - - -
Option suivie uniquement en classe de Terminale (ex: Maths/DGEMC) - - - 2 - - - - -
TotauxTotal des coefficients : -Total des points : -
+
+
Langue vivante B
+
6
+
+
+
-
+
+
Enseignement scientifique
+
6
+
+
+
+
+
+
Histoire-géographie
+
6
+
+
+
+
+
+
Éducation physique et sportive
+
6
+
+
+
+
+
+
Spécialité 3 abandonnée
+
8
+
+
+
+
+ + +

Épreuves terminales

+
+
+
Français - écrit
+
5
+
+
+
+
+
+
Français - oral
+
5
+
+
+
+
+
+
Philosophie
+
8
+
+
+
+
+
+
Épreuve orale terminale (Grand oral)
+
10
+
+
+
+
+
+
Spécialité 1
+
16
+
+
+
+
+
+
Spécialité 2
+
16
+
+
+
+
+
+ +

Options

+
+
+
Langues et cultures de l'Antiquité
+
4
+
+
+
+
+
+
Option suivie au cours du cycle terminal
+
4
+
+
+
+
+
+
Option suivie uniquement en classe de terminale
+
2
+
+
+
+
+
diff --git a/BCG/update.js b/BCG/update.js new file mode 100755 index 0000000..b0ac184 --- /dev/null +++ b/BCG/update.js @@ -0,0 +1,31 @@ +function update() { + let controle_continu = calcul_section([ + { code: 'EMC', entries: ['EMC-1re', 'EMC-tle'], coef: 1 }, + { code: 'LVA', entries: ['LVA-1re', 'LVA-tle'], coef: 3 }, + { code: 'LVB', entries: ['LVB-1re', 'LVB-tle'], coef: 3 }, + { code: 'ES', entries: ['ES-1re', 'ES-tle'], coef: 3 }, + { code: 'HG', entries: ['HG-1re', 'HG-tle'], coef: 3 }, + { code: 'EPS', entries: ['EPS'], coef: 6 }, + { code: 'SP3', entries: ['SP3'], coef: 8 }, + ]); + + let epreuves_terminales = calcul_section([ + { code: 'FR-ecrit', entries: ["FR-ecrit"], coef: 5 }, + { code: 'FR-oral', entries: ["FR-oral"], coef: 5 }, + { code: 'PHILO', entries: ["PHILO"], coef: 8 }, + { code: 'GO', entries: ["GO"], coef: 10 }, + { code: 'SP1', entries: ["SP1"], coef: 16 }, + { code: 'SP2', entries: ["SP2"], coef: 16 }, + ]); + + let options = calcul_section([ + { code: 'LCA', entries: ["LCA-1re", "LCA-tle"], coef: 2 }, + { code: 'OPT1', entries: ["OPT1-1re", "OPT1-tle"], coef: 2 }, + { code: 'OPT2', entries: ["OPT2"], coef: 2 }, + ]) + + let points = controle_continu.points + epreuves_terminales.points + options.points; + let coefficients = controle_continu.coefficients + epreuves_terminales.coefficients + options.coefficients; + + decider(points, coefficients); +} \ No newline at end of file diff --git a/BCT/calcul.js b/BCT/calcul.js deleted file mode 100755 index 2bd4a7c..0000000 --- a/BCT/calcul.js +++ /dev/null @@ -1,216 +0,0 @@ -function update() { - /* ------------- Contrôle continu ------------- */ - - let total_CC = 0; - - // EMC - let note_emc_1re = document.getElementById("note-emc-1re").value; - let points_emc_1re = 1 * note_emc_1re - document.getElementById("points-emc-1re").innerHTML = points_emc_1re.toLocaleString("fr"); - total_CC += points_emc_1re; - - let note_emc_tle = document.getElementById("note-emc-tle").value; - let points_emc_tle = 1 * note_emc_tle - document.getElementById("points-emc-tle").innerHTML = points_emc_tle.toLocaleString("fr"); - total_CC += points_emc_tle; - - // HG - let note_hg_1re = document.getElementById("note-hg-1re").value; - let points_hg_1re = 3 * note_hg_1re - document.getElementById("points-hg-1re").innerHTML = points_hg_1re.toLocaleString("fr"); - total_CC += points_hg_1re; - - let note_hg_tle = document.getElementById("note-hg-tle").value; - let points_hg_tle = 3 * note_hg_tle - document.getElementById("points-hg-tle").innerHTML = points_hg_tle.toLocaleString("fr"); - total_CC += points_hg_tle; - - // LVA - let note_lva_1re = document.getElementById("note-lva-1re").value; - let points_lva_1re = 3 * note_lva_1re - document.getElementById("points-lva-1re").innerHTML = points_lva_1re.toLocaleString("fr"); - total_CC += points_lva_1re; - - let note_lva_tle = document.getElementById("note-lva-tle").value; - let points_lva_tle = 3 * note_lva_tle - document.getElementById("points-lva-tle").innerHTML = points_lva_tle.toLocaleString("fr"); - total_CC += points_lva_tle; - - // LVB - let note_lvb_1re = document.getElementById("note-lvb-1re").value; - let points_lvb_1re = 3 * note_lvb_1re - document.getElementById("points-lvb-1re").innerHTML = points_lvb_1re.toLocaleString("fr"); - total_CC += points_lvb_1re; - - let note_lvb_tle = document.getElementById("note-lvb-tle").value; - let points_lvb_tle = 3 * note_lvb_tle - document.getElementById("points-lvb-tle").innerHTML = points_lvb_tle.toLocaleString("fr"); - total_CC += points_lvb_tle; - - // Mathématiques - let note_mat_1re = document.getElementById("note-mat-1re").value; - let points_mat_1re = 3 * note_mat_1re - document.getElementById("points-mat-1re").innerHTML = points_mat_1re.toLocaleString("fr"); - total_CC += points_mat_1re; - - let note_mat_tle = document.getElementById("note-mat-tle").value; - let points_mat_tle = 3 * note_mat_tle - document.getElementById("points-mat-tle").innerHTML = points_mat_tle.toLocaleString("fr"); - total_CC += points_mat_tle; - - // EPS - let note_eps_tle = document.getElementById("note-eps-tle").value; - let points_eps_tle = 6 * note_eps_tle - document.getElementById("points-eps-tle").innerHTML = points_eps_tle.toLocaleString("fr"); - total_CC += points_eps_tle; - - // Spé 3 - let note_spe3_1re = document.getElementById("note-spe3-1re").value; - let points_spe3_1re = 8 * note_spe3_1re - document.getElementById("points-spe3-1re").innerHTML = points_spe3_1re.toLocaleString("fr"); - total_CC += points_spe3_1re; - - - document.getElementById("total-points-CC").innerHTML = total_CC.toLocaleString("fr") - - - /* ------------- Épreuves terminales ------------- */ - - let total_terminal = 0; - - // Français écrit - let note_fr_ecrit = document.getElementById("note-fr-ecrit").value; - let points_fr_ecrit = 5 * note_fr_ecrit - document.getElementById("points-fr-ecrit").innerHTML = points_fr_ecrit.toLocaleString("fr"); - total_terminal += points_fr_ecrit; - - // Français oral - let note_fr_oral = document.getElementById("note-fr-oral").value; - let points_fr_oral = 5 * note_fr_oral - document.getElementById("points-fr-oral").innerHTML = points_fr_oral.toLocaleString("fr"); - total_terminal += points_fr_oral; - - // Philosophie - let note_philo = document.getElementById("note-philo").value; - let points_philo = 4 * note_philo - document.getElementById("points-philo").innerHTML = points_philo.toLocaleString("fr"); - total_terminal += points_philo; - - // Grand oral - let note_go = document.getElementById("note-go").value; - let points_go = 14 * note_go - document.getElementById("points-go").innerHTML = points_go.toLocaleString("fr"); - total_terminal += points_go; - - // Spé 1 - let note_spe1 = document.getElementById("note-spe1").value; - let points_spe1 = 16 * note_spe1 - document.getElementById("points-spe1").innerHTML = points_spe1.toLocaleString("fr"); - total_terminal += points_spe1; - - // Spé 2 - let note_spe2 = document.getElementById("note-spe2").value; - let points_spe2 = 16 * note_spe2 - document.getElementById("points-spe2").innerHTML = points_spe2.toLocaleString("fr"); - total_terminal += points_spe2; - - - document.getElementById("total-points-terminal").innerHTML = total_terminal.toLocaleString("fr") - - /* ------------- Options ------------- */ - - let total_options = 0; - let coef_options = 0; - - if (document.getElementById("check-opt1-1re").checked) { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - coef_options += 2; - let points_opt1_1re = 2*document.getElementById("note-opt1-1re").value; - total_options += points_opt1_1re; - document.getElementById("points-opt1-1re").innerHTML = points_opt1_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - document.getElementById("points-opt1-1re").innerHTML = "0"; - } - - if (document.getElementById("check-opt1-tle").checked) { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - coef_options += 2; - let points_opt1_tle = 2*document.getElementById("note-opt1-tle").value; - total_options += points_opt1_tle; - document.getElementById("points-opt1-tle").innerHTML = points_opt1_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - document.getElementById("points-opt1-tle").innerHTML = "0"; - } - - if (document.getElementById("check-opt2-1re").checked) { - document.getElementById("coef-opt2-1re").innerHTML = "2"; - coef_options += 2; - let points_opt2_1re = 2*document.getElementById("note-opt2-1re").value; - total_options += points_opt2_1re; - document.getElementById("points-opt2-1re").innerHTML = points_opt2_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-opt2-1re").innerHTML = "2"; - document.getElementById("points-opt2-1re").innerHTML = "0"; - } - - if (document.getElementById("check-opt2-tle").checked) { - document.getElementById("coef-opt2-tle").innerHTML = "2"; - coef_options += 2; - let points_opt2_tle = 2*document.getElementById("note-opt2-tle").value; - total_options += points_opt2_tle; - document.getElementById("points-opt2-tle").innerHTML = points_opt2_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-opt2-tle").innerHTML = "2"; - document.getElementById("points-opt2-tle").innerHTML = "0"; - } - - document.getElementById("total-coef-options").innerHTML = coef_options.toLocaleString("fr"); - document.getElementById("total-points-options").innerHTML = total_options.toLocaleString("fr"); - - // CALCUL - - let total_points = total_CC + total_terminal + total_options; - document.getElementById("total-points").innerHTML = total_points.toLocaleString("fr"); - let total_coef = 100 + coef_options; - document.getElementById("total-coef").innerHTML = total_coef.toLocaleString("fr"); - let note_brute = total_points/total_coef; - let note_finale = Math.ceil(100*note_brute)/100; - document.getElementById("note-finale").innerHTML = note_finale.toLocaleString("fr"); - - let decision; - let sup_mention_actuelle; - if (note_finale < 8) { - decision = "Ajourné" - sup_mention_actuelle = 7.99*total_coef - } else if (note_finale < 10) { - decision = "Passe le second groupe"; - sup_mention_actuelle = 9.99*total_coef - } else if (note_finale < 12) { - decision = "Admis"; - sup_mention_actuelle = 11.99*total_coef - } else if (note_finale < 14) { - decision = "Admis Mention Assez Bien"; - sup_mention_actuelle = 13.99*total_coef - } else if (note_finale < 16) { - decision = "Admis Mention Bien"; - sup_mention_actuelle = 15.99*total_coef - } else if (note_finale < 18) { - decision = "Admis Mention Très Bien"; - sup_mention_actuelle = 17.99*total_coef - } else { - decision = "Admis Mention Très Bien avec les félicitations du jury"; - sup_mention_actuelle = NaN - } - - if (note_finale < 18) { - let points_mention_suivante = Math.ceil(10*(sup_mention_actuelle - total_points + .01))/10 - document.getElementById("points-manquants").innerHTML = points_mention_suivante.toLocaleString("fr"); - } else { - document.getElementById("points-manquants").innerHTML = "-"; - } - - - document.getElementById("decision-jury").innerHTML = decision; -} \ No newline at end of file diff --git a/BCT/index.html b/BCT/index.html index 5907054..238f5a7 100755 --- a/BCT/index.html +++ b/BCT/index.html @@ -12,7 +12,8 @@ - + +
@@ -55,359 +56,152 @@ En savoir plus -
-
- Contrôle continu - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
Coef.NotePointsCoef.NotePoints
Enseignement moral et civique1 - - - - - 1 - - - - -
Langue vivante A3 - - - - - 3 - - - - -
Langue vivante B3 - - - - - 3 - - - - -
Histoire-géographie3 - - - - - 3 - - - - -
Mathématiques3 - - - - - 3 - - - - -
Éducation physique et sportive6 - - - - -
Spécialité 3 abandonnée8 - - - - -
TotauxTotal des coefficients : 40Total des points : 0
+ +
+
Matière
+
Coef.
+
Première
+
Terminale
+
Points
+
+

Contrôle continu

+
+
+
Enseignement moral et civique
+
2
+
+
+
-
-
- Épreuves terminales - -

Remarque : Seules ces épreuves peuvent faire l'objet d'un éventuel rattrapage (sauf épreuve orale terminale).

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièreCoef.1er groupe
NotePoints
Français écrit5 - - - - -
Français oral5 - - - - -
Philosophie4 - - - - -
Épreuve orale terminale (Grand oral)14 - - - - -
Spécialité 116 - - - - -
Spécialité 216 - - - - -
Totaux60
+
+
Langue vivante A
+
6
+
+
+
-
-
- Option(s) - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
?Coef.NotePoints?Coef.NotePoints
Option 1 - - - 2 - - - - - - - - 2 - - - - -
Option 2 - - - 2 - - - - - - - - 2 - - - - -
TotauxTotal des coefficients : -Total des points : -
+
+
Langue vivante B
+
6
+
+
+
-
+
+
Mathématiques
+
6
+
+
+
+
+
+
Histoire-géographie
+
6
+
+
+
+
+
+
Éducation physique et sportive
+
6
+
+
+
+
+
+
Spécialité 3 abandonnée
+
8
+
+
+
+
+ + +

Épreuves terminales

+
+
+
Français - écrit
+
5
+
+
+
+
+
+
Français - oral
+
5
+
+
+
+
+
+
Philosophie
+
4
+
+
+
+
+
+
Épreuve orale terminale (Grand oral)
+
14
+
+
+
+
+
+
Spécialité 1
+
16
+
+
+
+
+
+
Spécialité 2
+
16
+
+
+
+
+
+ +

Options

+
+
+
Option 1
+
4
+
+
+
+
+
+
Option 2
+
4
+
+
+
+
+
diff --git a/BCT/update.js b/BCT/update.js new file mode 100755 index 0000000..b94a448 --- /dev/null +++ b/BCT/update.js @@ -0,0 +1,30 @@ +function update() { + let controle_continu = calcul_section([ + { code: 'EMC', entries: ['EMC-1re', 'EMC-tle'], coef: 1 }, + { code: 'LVA', entries: ['LVA-1re', 'LVA-tle'], coef: 3 }, + { code: 'LVB', entries: ['LVB-1re', 'LVB-tle'], coef: 3 }, + { code: 'MAT', entries: ['MAT-1re', 'MAT-tle'], coef: 3 }, + { code: 'HG', entries: ['HG-1re', 'HG-tle'], coef: 3 }, + { code: 'EPS', entries: ['EPS'], coef: 6 }, + { code: 'SP3', entries: ['SP3'], coef: 8 }, + ]); + + let epreuves_terminales = calcul_section([ + { code: 'FR-ecrit', entries: ["FR-ecrit"], coef: 5 }, + { code: 'FR-oral', entries: ["FR-oral"], coef: 5 }, + { code: 'PHILO', entries: ["PHILO"], coef: 4 }, + { code: 'GO', entries: ["GO"], coef: 14 }, + { code: 'SP1', entries: ["SP1"], coef: 16 }, + { code: 'SP2', entries: ["SP2"], coef: 16 }, + ]); + + let options = calcul_section([ + { code: 'OPT1', entries: ["OPT1-1re", "OPT1-tle"], coef: 2 }, + { code: 'OPT2', entries: ["OPT2-1re", "OPT2-tle"], coef: 2 }, + ]) + + let points = controle_continu.points + epreuves_terminales.points + options.points; + let coefficients = controle_continu.coefficients + epreuves_terminales.coefficients + options.coefficients; + + decider(points, coefficients); +} \ No newline at end of file diff --git a/BFI/calcul.js b/BFI/calcul.js deleted file mode 100755 index d0aed9e..0000000 --- a/BFI/calcul.js +++ /dev/null @@ -1,243 +0,0 @@ -function update() { - /* ------------- Contrôle continu ------------- */ - - let total_CC = 0; - - // EMC - let note_emc_1re = document.getElementById("note-emc-1re").value; - let points_emc_1re = 1 * note_emc_1re - document.getElementById("points-emc-1re").innerHTML = points_emc_1re.toLocaleString("fr"); - total_CC += points_emc_1re; - - let note_emc_tle = document.getElementById("note-emc-tle").value; - let points_emc_tle = 1 * note_emc_tle - document.getElementById("points-emc-tle").innerHTML = points_emc_tle.toLocaleString("fr"); - total_CC += points_emc_tle; - - // LVB - let note_lvb_1re = document.getElementById("note-lvb-1re").value; - let points_lvb_1re = 3 * note_lvb_1re - document.getElementById("points-lvb-1re").innerHTML = points_lvb_1re.toLocaleString("fr"); - total_CC += points_lvb_1re; - - let note_lvb_tle = document.getElementById("note-lvb-tle").value; - let points_lvb_tle = 3 * note_lvb_tle - document.getElementById("points-lvb-tle").innerHTML = points_lvb_tle.toLocaleString("fr"); - total_CC += points_lvb_tle; - - // ES - let note_es_1re = document.getElementById("note-es-1re").value; - let points_es_1re = 3 * note_es_1re - document.getElementById("points-es-1re").innerHTML = points_es_1re.toLocaleString("fr"); - total_CC += points_es_1re; - - let note_es_tle = document.getElementById("note-es-tle").value; - let points_es_tle = 3 * note_es_tle - document.getElementById("points-es-tle").innerHTML = points_es_tle.toLocaleString("fr"); - total_CC += points_es_tle; - - // EPS - let note_eps_tle = document.getElementById("note-eps-tle").value; - let points_eps_tle = 6 * note_eps_tle - document.getElementById("points-eps-tle").innerHTML = points_eps_tle.toLocaleString("fr"); - total_CC += points_eps_tle; - - // Spé 3 - let note_spe3_1re = document.getElementById("note-spe3-1re").value; - let points_spe3_1re = 8 * note_spe3_1re - document.getElementById("points-spe3-1re").innerHTML = points_spe3_1re.toLocaleString("fr"); - total_CC += points_spe3_1re; - - - document.getElementById("total-points-CC").innerHTML = total_CC.toLocaleString("fr") - - - /* ------------- Épreuves terminales ------------- */ - - let total_terminal = 0; - - // Français écrit - let note_fr_ecrit = document.getElementById("note-fr-ecrit").value; - let points_fr_ecrit = 5 * note_fr_ecrit - document.getElementById("points-fr-ecrit").innerHTML = points_fr_ecrit.toLocaleString("fr"); - total_terminal += points_fr_ecrit; - - // Français oral - let note_fr_oral = document.getElementById("note-fr-oral").value; - let points_fr_oral = 5 * note_fr_oral - document.getElementById("points-fr-oral").innerHTML = points_fr_oral.toLocaleString("fr"); - total_terminal += points_fr_oral; - - // Philosophie - let note_philo = document.getElementById("note-philo").value; - let points_philo = 8 * note_philo - document.getElementById("points-philo").innerHTML = points_philo.toLocaleString("fr"); - total_terminal += points_philo; - - // Grand oral - let note_go = document.getElementById("note-go").value; - let points_go = 10 * note_go - document.getElementById("points-go").innerHTML = points_go.toLocaleString("fr"); - total_terminal += points_go; - - // Spé 1 - let note_spe1 = document.getElementById("note-spe1").value; - let points_spe1 = 16 * note_spe1 - document.getElementById("points-spe1").innerHTML = points_spe1.toLocaleString("fr"); - total_terminal += points_spe1; - - // Spé 2 - let note_spe2 = document.getElementById("note-spe2").value; - let points_spe2 = 16 * note_spe2 - document.getElementById("points-spe2").innerHTML = points_spe2.toLocaleString("fr"); - total_terminal += points_spe2; - - - document.getElementById("total-points-terminal").innerHTML = total_terminal.toLocaleString("fr") - - - /* ------------- Épreuves spécifiques ------------- */ - - let total_specifique = 0; - - // ACL écrit - let note_acl_ecrit = document.getElementById("note-acl-ecrit").value; - let points_acl_ecrit = 10 * note_acl_ecrit - document.getElementById("points-acl-ecrit").innerHTML = points_acl_ecrit.toLocaleString("fr"); - total_specifique += points_acl_ecrit; - - // ACL oral - let note_acl_oral = document.getElementById("note-acl-oral").value; - let points_acl_oral = 10 * note_acl_oral - document.getElementById("points-acl-oral").innerHTML = points_acl_oral.toLocaleString("fr"); - total_specifique += points_acl_oral; - - // HG écrit - let note_hg_ecrit = document.getElementById("note-hg-ecrit").value; - let points_hg_ecrit = 10 * note_hg_ecrit - document.getElementById("points-hg-ecrit").innerHTML = points_hg_ecrit.toLocaleString("fr"); - total_specifique += points_hg_ecrit; - - // HG oral - let note_hg_oral = document.getElementById("note-hg-oral").value; - let points_hg_oral = 10 * note_hg_oral - document.getElementById("points-hg-oral").innerHTML = points_hg_oral.toLocaleString("fr"); - total_specifique += points_hg_oral; - - // CDM - let note_cdm = document.getElementById("note-cdm").value; - let points_cdm = 20 * note_cdm - document.getElementById("points-cdm").innerHTML = points_cdm.toLocaleString("fr"); - total_specifique += points_cdm; - - document.getElementById("total-points-specifique").innerHTML = total_specifique.toLocaleString("fr") - - - /* ------------- Options ------------- */ - - let total_options = 0; - let coef_options = 0; - - if (document.getElementById("check-lca-1re").checked) { - document.getElementById("coef-lca-1re").innerHTML = "2"; - coef_options += 2; - let points_lca_1re = 2*document.getElementById("note-lca-1re").value; - total_options += points_lca_1re; - document.getElementById("points-lca-1re").innerHTML = points_lca_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-lca-1re").innerHTML = "2"; - document.getElementById("points-lca-1re").innerHTML = "0"; - } - - if (document.getElementById("check-lca-tle").checked) { - document.getElementById("coef-lca-tle").innerHTML = "2"; - coef_options += 2; - let points_lca_tle = 2*document.getElementById("note-lca-tle").value; - total_options += points_lca_tle; - document.getElementById("points-lca-tle").innerHTML = points_lca_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-lca-tle").innerHTML = "2"; - document.getElementById("points-lca-tle").innerHTML = "0"; - } - - if (document.getElementById("check-opt1-1re").checked) { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - coef_options += 2; - let points_opt1_1re = 2*document.getElementById("note-opt1-1re").value; - total_options += points_opt1_1re; - document.getElementById("points-opt1-1re").innerHTML = points_opt1_1re.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-1re").innerHTML = "2"; - document.getElementById("points-opt1-1re").innerHTML = "0"; - } - - if (document.getElementById("check-opt1-tle").checked) { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - coef_options += 2; - let points_opt1_tle = 2*document.getElementById("note-opt1-tle").value; - total_options += points_opt1_tle; - document.getElementById("points-opt1-tle").innerHTML = points_opt1_tle.toLocaleString("fr"); - } else { - document.getElementById("coef-opt1-tle").innerHTML = "2"; - document.getElementById("points-opt1-tle").innerHTML = "0"; - } - - if (document.getElementById("check-opt2").checked) { - document.getElementById("coef-opt2").innerHTML = "2"; - coef_options += 2; - let points_opt2 = 2*document.getElementById("note-opt2").value; - total_options += points_opt2; - document.getElementById("points-opt2").innerHTML = points_opt2.toLocaleString("fr"); - } else { - document.getElementById("coef-opt2").innerHTML = "2"; - document.getElementById("points-opt2").innerHTML = "0"; - } - - document.getElementById("total-coef-options").innerHTML = coef_options.toLocaleString("fr"); - document.getElementById("total-points-options").innerHTML = total_options.toLocaleString("fr"); - - // CALCUL - - let total_points = total_CC + total_terminal + total_specifique + total_options; - document.getElementById("total-points").innerHTML = total_points.toLocaleString("fr"); - let total_coef = 148 + coef_options; - document.getElementById("total-coef").innerHTML = total_coef.toLocaleString("fr"); - let note_brute = total_points/total_coef; - let note_finale = Math.ceil(100*note_brute)/100; - document.getElementById("note-finale").innerHTML = note_finale.toLocaleString("fr"); - - let decision; - let sup_mention_actuelle; - if (note_finale < 8) { - decision = "Ajourné" - sup_mention_actuelle = 7.99*total_coef - } else if (note_finale < 10) { - decision = "Passe le second groupe"; - sup_mention_actuelle = 9.99*total_coef - } else if (note_finale < 12) { - decision = "Admis"; - sup_mention_actuelle = 11.99*total_coef - } else if (note_finale < 14) { - decision = "Admis Mention Assez Bien"; - sup_mention_actuelle = 13.99*total_coef - } else if (note_finale < 16) { - decision = "Admis Mention Bien"; - sup_mention_actuelle = 15.99*total_coef - } else if (note_finale < 18) { - decision = "Admis Mention Très Bien"; - sup_mention_actuelle = 17.99*total_coef - } else { - decision = "Admis Mention Très Bien avec les félicitations du jury"; - sup_mention_actuelle = NaN - } - - if (note_finale < 18) { - let points_mention_suivante = Math.ceil(10*(sup_mention_actuelle - total_points + .01))/10 - document.getElementById("points-manquants").innerHTML = points_mention_suivante.toLocaleString("fr"); - } else { - document.getElementById("points-manquants").innerHTML = "-"; - } - - - document.getElementById("decision-jury").innerHTML = decision; -} \ No newline at end of file diff --git a/BFI/index.html b/BFI/index.html index f949cf4..c15bb55 100755 --- a/BFI/index.html +++ b/BFI/index.html @@ -12,7 +12,8 @@ - + +
@@ -55,416 +56,194 @@ En savoir plus -
-
- Contrôle continu - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
Coef.NotePointsCoef.NotePoints
Enseignement moral et civique1 - - - - - 1 - - - - -
Langue vivante B3 - - - - - 3 - - - - -
Enseignement scientifique3 - - - - - 3 - - - - -
Éducation physique et sportive6 - - - - -
Spécialité 3 abandonnée8 - - - - -
TotauxTotal des coefficients : 28Total des points : 0
+ +
+
Matière
+
Coef.
+
Première
+
Terminale
+
Points
+
+

Contrôle continu

+
+
+
Enseignement moral et civique
+
2
+
+
+
-
-
- Épreuves terminales - -

Remarque : Seules ces épreuves peuvent faire l'objet d'un éventuel rattrapage (sauf épreuve orale terminale).

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièreCoef.1er groupe
NotePoints
Français écrit5 - - - - -
Français oral5 - - - - -
Philosophie8 - - - - -
Épreuve orale terminale (Grand oral)10 - - - - -
Spécialité 116 - - - - -
Spécialité 216 - - - - -
Totaux60
+
+
Langue vivante B
+
6
+
+
+
-
-
- Épreuves spécifiques du BFI -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièreCoef.Terminale
NotePoints
Approfondissement culturel et linguistique - écrit10 - - - - -
Approfondissement culturel et linguistique - oral10 - - - - -
Histoire-géographie en langue de section - écrit10 - - - - -
Histoire-géographie en langue de section - oral10 - - - - -
Connaissance du monde20 - - - - -
Totaux60
+
+
Enseignement scientifique
+
6
+
+
+
-
-
- Option(s) - -

- Pour les notes empruntées au livret scolaire (c'est-à-dire la moyenne de l'année), - il faut arrondir la note au dixième à l'excès : par exemple, pour une moyenne annuelle de 16,54, - il faut arrondir à 16,6. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MatièrePremièreTerminale
?Coef.NotePoints?Coef.NotePoints
Langues et cultures de l'Antiquité - - - 2 - - - - - - - - 2 - - - - -
Option suivie au cours du cycle terminal (ex: Arts/LV3) - - - 2 - - - - - - - - 2 - - - - -
Option suivie uniquement en classe de Terminale (ex: Maths/DGEMC) - - - 2 - - - - -
TotauxTotal des coefficients : -Total des points : -
+
+
Éducation physique et sportive
+
6
+
+
+
-
+
+
Spécialité 3 abandonnée
+
8
+
+
+
+
+ + +

Épreuves terminales

+
+
+
Français - écrit
+
5
+
+
+
+
+
+
Français - oral
+
5
+
+
+
+
+
+
Philosophie
+
8
+
+
+
+
+
+
Épreuve orale terminale (Grand oral)
+
10
+
+
+
+
+
+
Spécialité 1
+
16
+
+
+
+
+
+
Spécialité 2
+
16
+
+
+
+
+
+ +

Évaluations spécifiques

+
+
+
Approfondissement culturel et linguistique - écrit
+
10
+
+
+
+
+
+
Approfondissement culturel et linguistique - oral
+
10
+
+
+
+
+
+
Connaissance du monde
+
20
+
+
+
+
+
+
DNL1 obligatoire - écrit
+
10
+
+
+
+
+
+
DNL1 obligatoire - oral
+
10
+
+
+
+
+
+ +

Options

+
+
+
Langues et cultures de l'Antiquité
+
4
+
+
+
+
+
+
Option suivie au cours du cycle terminal
+
4
+
+
+
+
+
+
Option suivie uniquement en classe de terminale
+
2
+
+
+
+
+
+
DNL2 facultative
+
20
+
+
+
+
+
diff --git a/BFI/update.js b/BFI/update.js new file mode 100755 index 0000000..31d1e06 --- /dev/null +++ b/BFI/update.js @@ -0,0 +1,38 @@ +function update() { + let controle_continu = calcul_section([ + { code: 'EMC', entries: ['EMC-1re', 'EMC-tle'], coef: 1 }, + { code: 'LVB', entries: ['LVB-1re', 'LVB-tle'], coef: 3 }, + { code: 'ES', entries: ['ES-1re', 'ES-tle'], coef: 3 }, + { code: 'EPS', entries: ['EPS'], coef: 6 }, + { code: 'SP3', entries: ['SP3'], coef: 8 }, + ]); + + let epreuves_terminales = calcul_section([ + { code: 'FR-ecrit', entries: ["FR-ecrit"], coef: 5 }, + { code: 'FR-oral', entries: ["FR-oral"], coef: 5 }, + { code: 'PHILO', entries: ["PHILO"], coef: 8 }, + { code: 'GO', entries: ["GO"], coef: 10 }, + { code: 'SP1', entries: ["SP1"], coef: 16 }, + { code: 'SP2', entries: ["SP2"], coef: 16 }, + ]); + + let evaluations_specifiques = calcul_section([ + { code: 'ACL-ecrit', entries: ["ACL-ecrit"], coef: 10 }, + { code: 'ACL-oral', entries: ["ACL-oral"], coef: 10 }, + { code: 'CDM', entries: ["CDM"], coef: 20 }, + { code: 'DNL1-ecrit', entries: ["DNL1-ecrit"], coef: 10 }, + { code: 'DNL1-oral', entries: ["DNL1-oral"], coef: 10 }, + ]); + + let options = calcul_section([ + { code: 'LCA', entries: ["LCA-1re", "LCA-tle"], coef: 2 }, + { code: 'OPT1', entries: ["OPT1-1re", "OPT1-tle"], coef: 2 }, + { code: 'OPT2', entries: ["OPT2"], coef: 2 }, + { code: 'DNL2', entries: ["DNL2"], coef: 20 }, + ]) + + let points = controle_continu.points + epreuves_terminales.points + evaluations_specifiques.points + options.points; + let coefficients = controle_continu.coefficients + epreuves_terminales.coefficients + evaluations_specifiques.coefficients + options.coefficients; + + decider(points, coefficients); +} \ No newline at end of file diff --git a/res/calcul.js b/res/calcul.js new file mode 100644 index 0000000..29ff53c --- /dev/null +++ b/res/calcul.js @@ -0,0 +1,89 @@ +function arrondi_dixieme(nombre) { + return Math.ceil(10*nombre) / 10; +} + +function arrondi_centieme(nombre) { + return Math.ceil(100*nombre) / 100; +} + +function representer(nombre) { + return (isNaN(nombre)) ? '–' : nombre.toLocaleString(); +} + +function calcul_section(data) { + /* data est de la forme array[object] avec object de la forme + { 'code': str, + 'coef': int, + 'entries': array } + + Sortie : object de la forme { 'points': float, 'coefficients': int } + */ + + let points= 0, coefficients= 0; + + data.forEach(epreuve => { + let points_epreuve= 0; + + let caduque = true; + epreuve.entries.forEach(entry => { + let field = document.getElementById(entry + "-note"); + + if (field.value) caduque = false; + if (field.value || field.required) { + points_epreuve += epreuve.coef * arrondi_dixieme(parseFloat((field.value) ? field.value : 0)); + coefficients += epreuve.coef; + } + }); + + document.getElementById(epreuve.code + '-points').innerHTML = representer((caduque) ? NaN : points_epreuve); + points += points_epreuve; + }) + + return {"points": points, "coefficients": coefficients}; +} + +function decider(points, coefficients) { + let valide = document.getElementById("simulateur").checkValidity(); + document.getElementById("total-points").innerHTML = representer((valide) ? points : NaN); + document.getElementById("total-coef").innerHTML = representer(coefficients); + let note_brute = (valide) ? points/coefficients : NaN; + let note_finale = arrondi_centieme(note_brute); + document.getElementById("note-finale").innerHTML = representer(note_finale); + + let decision; + let sup_mention_actuelle; + if (note_finale < 8) { + decision = "Ajourné" + sup_mention_actuelle = 7.99*coefficients + } else if (note_finale < 10) { + decision = "Passe le second groupe"; + sup_mention_actuelle = 9.99*coefficients + } else if (note_finale < 12) { + decision = "Admis"; + sup_mention_actuelle = 11.99*coefficients + } else if (note_finale < 14) { + decision = "Admis Mention Assez Bien"; + sup_mention_actuelle = 13.99*coefficients + } else if (note_finale < 16) { + decision = "Admis Mention Bien"; + sup_mention_actuelle = 15.99*coefficients + } else if (note_finale < 18) { + decision = "Admis Mention Très Bien"; + sup_mention_actuelle = 17.99*coefficients + } else if (note_finale >= 18) { + decision = "Admis Mention Très Bien avec les félicitations du jury"; + sup_mention_actuelle = NaN + } else { + decision = "–" + } + + if (note_finale < 18) { + let points_mention_suivante = arrondi_dixieme(sup_mention_actuelle - points + .01) + document.getElementById("points-manquants").innerHTML = representer(points_mention_suivante); + } else { + document.getElementById("points-manquants").innerHTML = "–"; + } + + + document.getElementById("decision-jury").innerHTML = decision; +} \ No newline at end of file diff --git a/res/style.css b/res/style.css index 1d1bcfa..7b86c8b 100755 --- a/res/style.css +++ b/res/style.css @@ -13,14 +13,21 @@ a:link, a:visited { } h1 { - margin: 10px 0; text-align: center; } +h1, h2, h3, h4, h5, h6 { + margin-top: 15px; +} + p { margin-bottom: 1em; } +del { + color: #888; +} + header { margin: 10px; } @@ -68,8 +75,9 @@ header { } div.content { - width: clamp(400px, 70%, 1200px); + width: clamp(800px, 55%, 1200px); margin: 30px auto; + padding: 10px; } #resultat { @@ -119,9 +127,88 @@ div.content { margin-bottom: 0; } -@media screen and (max-width: 1000px) { +.info { + padding: 10px; + background-color: lightyellow; + margin: 20px 0; +} + +form input[type="number"] { + width: 100%; + padding: 5px; + border: none; + background-color: #eee; + font: large monospace; +} + +form input[type="number"]:invalid { + background-color: #fdebd0; +} + +footer { + margin-top: 20px; + padding: 10px; + text-align: center; +} + +div.ln { + margin: 5px 0; + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 5px; +} + +div.head { + text-align: center; + font-weight: bold; +} + +div.head div { + background-color: #eeeeee; +} + +div.ln div { + padding: 5px; +} + +div.ln div:nth-child(1) { + padding: 5px 0; + flex-grow: 1; +} + +div.ln div:nth-child(2) { + font-weight: bold; +} + +div.ln div:nth-child(2), div.ln div:nth-child(5) { + width: 5em; + text-align: center; +} + + +div.ln div:nth-child(3), div.ln div:nth-child(4) { + padding: 5px; + width: 6em; + align-self: stretch; +} + +div.ln div:nth-child(3) { + background-color: #DBC4F0; +} + +div.ln div:nth-child(4) { + background-color: #FFCACC; +} + +div.ln div.null { + background-color: #eeeeee; +} + +@media screen and (max-width: 800px) { div.content { - width: 100vw; + width: 100%; + margin: 0; } #resultat, .choix-appli-wrapper { @@ -138,91 +225,19 @@ div.content { width: 100%; } - div.table_wrapper { - width: calc(100vw - 50px); + div.ln div { + flex-grow: 1; } - fieldset { - width: calc(100vw - 40px); + div.ln { + margin-top: 10px; } -} -.info { - padding: 10px; - background-color: lightyellow; - margin: 10px 10px; - border: 1px solid #ddd; -} + div.ln div:nth-child(1) { + width: calc(70vw + 10px); + } -form { - margin: 10px; -} - -fieldset { - padding: 10px; - margin: 20px 0; - overflow: auto; -} - -div.table_wrapper { - overflow-x: auto; - white-space: nowrap; -} - -table { - border-collapse: collapse; -} - -td, th { - padding: 5px; -} - -th, tr.total td { - border: 2px solid black; -} - -td { - border-top: 1px solid #bbb; - border-bottom: 1px solid #bbb; - border-left: 2px solid black; - border-right: 2px solid black; -} - -td.null { - background-color: #bbb -} - -tr.total { - font-weight: bold; - text-align: center; -} - -tr:hover { - background-color: #ffffdd; -} - -.note { - width: 60px; - padding: 5px; - border: none; - background-color: #eee; - font: large monospace; -} - -.note:invalid, .note[value=""] { - background-color: #ffdddd; -} - -label { - display: none; -} - -footer { - margin-top: 20px; - padding: 10px; - text-align: center; -} - -del { - color: #888; + div.ln div:nth-child(3), div.ln div:nth-child(4) { + width: 35vw; + } } \ No newline at end of file