diff --git a/BFI/calcul.js b/BFI/calcul.js new file mode 100755 index 0000000..a863b6e --- /dev/null +++ b/BFI/calcul.js @@ -0,0 +1,243 @@ +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 = "0"; + 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 = "0"; + 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 = "0"; + 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 = "0"; + 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 = "0"; + 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 = 0; + if (note_finale < 8) { + decision = "Ajourné (Recalé)" + sup_mention_actuelle = 7.99*total_coef + } else if (note_finale < 10) { + decision = "Passe le second groupe (Rattrapage)"; + 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 new file mode 100755 index 0000000..275f60e --- /dev/null +++ b/BFI/index.html @@ -0,0 +1,431 @@ + + + + + + + Simulateur du BFI + + + + +
+ ← Retour vers le portail des simulations +

Simulateur du BFI

+
+
+
+ +

Points

+
+
+ +

Coefficients

+
+
+ /20 +

Note finale

+
+
+ +

Décision

+
+
+ +

Points jusqu'à la
décision supérieure

+
+
+
+
+ Information : Si le nombre de points jusqu'à la décision supérieure est faible (c'est-à-dire moins de 10 points environ), + le jury peut vous les accorder sous réserve que votre livret scolaire soit bon (assiduité, bon comportement). +
+
+ Information : Pour les notes empruntées au livret scolaire (i.e. 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. +
+ +
+
+ Contrôle continu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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
+
+
+ Épreuves terminales + + Remarque : Seules ces épreuves peuvent faire l'objet d'un éventuel rattrapage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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
+
+
+ É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
+
+
+ Option(s) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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 : -
+
+
+
+ + + + \ No newline at end of file diff --git a/BFI/style.css b/BFI/style.css new file mode 100755 index 0000000..66a8447 --- /dev/null +++ b/BFI/style.css @@ -0,0 +1,126 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: Arial, sans-serif; +} + +a:link, a:visited { + color: #444; +} + +h1 { + margin: 10px 0; + text-align: center; +} + +header { + margin: 10px; +} + +main { + width: clamp(400px, 70%, 1200px); + margin: 30px auto; +} + +.resultat { + background-color: #ffffff; + position: sticky; + top: 0; + padding: 10px; + display: flex; + box-shadow: 0 5px 5px #ddd; + justify-content: center; + gap: 15px; +} + +.resultat div { + padding: 15px; + border: 1px solid #ddd; + text-align: center; +} + +.resultat div span { + font-size: 2em; +} + +.resultat div p { + margin-top: 15px; +} + +.resultat table { + margin: 10px auto; +} + +.info { + padding: 10px; + background-color: lightyellow; + margin: 10px 10px; + border: 1px solid #ddd; +} + +form { + margin: 10px; +} + +fieldset { + padding: 10px; + margin: 20px 0; +} + +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; +} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..7689c33 Binary files /dev/null and b/favicon.ico differ