Ajout des fichiers
This commit is contained in:
		
							
								
								
									
										243
									
								
								BFI/calcul.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										243
									
								
								BFI/calcul.js
									
									
									
									
									
										Executable file
									
								
							@@ -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<br>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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										431
									
								
								BFI/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										431
									
								
								BFI/index.html
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,431 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="fr">
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="UTF-8">
 | 
			
		||||
    <meta name="viewport"
 | 
			
		||||
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 | 
			
		||||
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
 | 
			
		||||
    <title>Simulateur du BFI</title>
 | 
			
		||||
    <link href="style.css" rel="stylesheet" type="text/css">
 | 
			
		||||
    <script src="calcul.js"></script>
 | 
			
		||||
</head>
 | 
			
		||||
<body onload="update()">
 | 
			
		||||
    <header>
 | 
			
		||||
        <a href="/">← Retour vers le portail des simulations</a>
 | 
			
		||||
        <h1>Simulateur du BFI</h1>
 | 
			
		||||
    </header>
 | 
			
		||||
    <div class="resultat">
 | 
			
		||||
        <div>
 | 
			
		||||
            <span id="total-points"></span>
 | 
			
		||||
            <p>Points</p>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            <span id="total-coef"></span>
 | 
			
		||||
            <p>Coefficients</p>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            <span id="note-finale"></span>/20
 | 
			
		||||
            <p>Note finale</p>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            <span id="decision-jury"></span>
 | 
			
		||||
            <p>Décision</p>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            <span id="points-manquants"></span>
 | 
			
		||||
            <p>Points jusqu'à la<br>décision supérieure</p>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <main>
 | 
			
		||||
        <div class="info">
 | 
			
		||||
        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).
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="info">
 | 
			
		||||
            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.
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <form onchange="update()" id="calculateur">
 | 
			
		||||
            <fieldset>
 | 
			
		||||
                <legend>Contrôle continu</legend>
 | 
			
		||||
 | 
			
		||||
                <table>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th rowspan="2">Matière</th>
 | 
			
		||||
                        <th colspan="3">Première</th>
 | 
			
		||||
                        <th colspan="3">Terminale</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th>Coef.</th>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                        <th>Coef.</th>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Enseignement moral et civique</td>
 | 
			
		||||
                        <td>1</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-emc-1re">Note d'EMC de première</label>
 | 
			
		||||
                            <input type="number" name="note-emc-1re"
 | 
			
		||||
                                   id="note-emc-1re" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-emc-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>1</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-emc-tle">Note d'EMC de terminale</label>
 | 
			
		||||
                            <input type="number" name="note-emc-tle"
 | 
			
		||||
                                   id="note-emc-tle" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-emc-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Langue vivante B</td>
 | 
			
		||||
                        <td>3</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-lvb-1re">Note de LVB de première</label>
 | 
			
		||||
                            <input type="number" name="note-lvb-1re"
 | 
			
		||||
                                   id="note-lvb-1re" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-lvb-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>3</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-lvb-tle">Note de LVB de terminale</label>
 | 
			
		||||
                            <input type="number" name="note-lvb-tle"
 | 
			
		||||
                                   id="note-lvb-tle" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-lvb-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Enseignement scientifique</td>
 | 
			
		||||
                        <td>3</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-es-1re">Note d'enseignement scientifique de première</label>
 | 
			
		||||
                            <input type="number" name="note-es-1re"
 | 
			
		||||
                                   id="note-es-1re" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-es-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>3</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-es-tle">Note d'enseignement scientifique de terminale</label>
 | 
			
		||||
                            <input type="number" name="note-es-1re"
 | 
			
		||||
                                   id="note-es-tle" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-es-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Éducation physique et sportive</td>
 | 
			
		||||
                        <td colspan="3" class="null"></td>
 | 
			
		||||
                        <td>6</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-eps-tle">Note d'EPS</label>
 | 
			
		||||
                            <input type="number" name="note-eps-tle"
 | 
			
		||||
                                   id="note-eps-tle" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-eps-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Spécialité 3 abandonnée</td>
 | 
			
		||||
                        <td>8</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-spe3-1re">Note de spécialité abandonnée en classe de première</label>
 | 
			
		||||
                            <input type="number" name="note-spe3-1re"
 | 
			
		||||
                                   id="note-spe3-1re" class="note" min="0" max="20" step=".1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-spe3-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td colspan="3" class="null"></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr class="total">
 | 
			
		||||
                        <td>Totaux</td>
 | 
			
		||||
                        <td colspan="3">Total des coefficients : 28</td>
 | 
			
		||||
                        <td colspan="3">Total des points : <span id="total-points-CC">0</span></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </fieldset>
 | 
			
		||||
            <fieldset>
 | 
			
		||||
                <legend>Épreuves terminales</legend>
 | 
			
		||||
 | 
			
		||||
                Remarque : Seules ces épreuves peuvent faire l'objet d'un éventuel rattrapage.
 | 
			
		||||
 | 
			
		||||
                <table>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th rowspan="2">Matière</th>
 | 
			
		||||
                        <th rowspan="2">Coef.</th>
 | 
			
		||||
                        <th colspan="2">1<sup>er</sup> groupe</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Français écrit</td>
 | 
			
		||||
                        <td>5</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-fr-ecrit">Note de français oral</label>
 | 
			
		||||
                            <input type="number" name="note-fr-ecrit"
 | 
			
		||||
                                   id="note-fr-ecrit" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-fr-ecrit"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Français oral</td>
 | 
			
		||||
                        <td>5</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-fr-oral">Note de français oral</label>
 | 
			
		||||
                            <input type="number" name="note-fr-oral"
 | 
			
		||||
                                   id="note-fr-oral" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-fr-oral"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Philosophie</td>
 | 
			
		||||
                        <td>8</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-philo">Note de philosophie</label>
 | 
			
		||||
                            <input type="number" name="note-philo"
 | 
			
		||||
                                   id="note-philo" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-philo"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Épreuve orale terminale (Grand oral)</td>
 | 
			
		||||
                        <td>10</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-go">Note du Grand Oral</label>
 | 
			
		||||
                            <input type="number" name="note-go"
 | 
			
		||||
                                   id="note-go" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-go"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Spécialité 1</td>
 | 
			
		||||
                        <td>16</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-spe1">Note de français oral</label>
 | 
			
		||||
                            <input type="number" name="note-spe1"
 | 
			
		||||
                                   id="note-spe1" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-spe1"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Spécialité 2</td>
 | 
			
		||||
                        <td>16</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-spe2">Note de français oral</label>
 | 
			
		||||
                            <input type="number" name="note-spe2"
 | 
			
		||||
                                   id="note-spe2" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-spe2"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr class="total">
 | 
			
		||||
                        <td>Totaux</td>
 | 
			
		||||
                        <td>60</td>
 | 
			
		||||
                        <td></td>
 | 
			
		||||
                        <td><span id="total-points-terminal"></span></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </fieldset>
 | 
			
		||||
            <fieldset>
 | 
			
		||||
                <legend>Épreuves spécifiques du BFI</legend>
 | 
			
		||||
                <table>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th rowspan="2">Matière</th>
 | 
			
		||||
                        <th rowspan="2">Coef.</th>
 | 
			
		||||
                        <th colspan="2">Terminale</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Approfondissement culturel et linguistique - écrit</td>
 | 
			
		||||
                        <td>10</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-acl-ecrit">Note d'approfondissement culturel et linguistique écrit</label>
 | 
			
		||||
                            <input type="number" name="note-acl-ecrit"
 | 
			
		||||
                                   id="note-acl-ecrit" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-acl-ecrit"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Approfondissement culturel et linguistique - oral</td>
 | 
			
		||||
                        <td>10</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-acl-oral">Note d'approfondissement culturel et linguistique oral</label>
 | 
			
		||||
                            <input type="number" name="note-acl-oral"
 | 
			
		||||
                                   id="note-acl-oral" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-acl-oral"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Histoire-géographie en langue de section - écrit</td>
 | 
			
		||||
                        <td>10</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-hg-ecrit">Note d'histoire-géographie en langue de section - écrit</label>
 | 
			
		||||
                            <input type="number" name="note-hg-ecrit"
 | 
			
		||||
                                   id="note-hg-ecrit" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-hg-ecrit"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Histoire-géographie en langue de section - oral</td>
 | 
			
		||||
                        <td>10</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-hg-oral">Note d'histoire-géographie en langue de section - oral</label>
 | 
			
		||||
                            <input type="number" name="note-hg-oral"
 | 
			
		||||
                                   id="note-hg-oral" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-hg-oral"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Connaissance du monde</td>
 | 
			
		||||
                        <td>20</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-cdm">Note de connaissance du monde</label>
 | 
			
		||||
                            <input type="number" name="note-cdm"
 | 
			
		||||
                                   id="note-cdm" class="note" min="0" max="20" step="1" required>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-cdm"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr class="total">
 | 
			
		||||
                        <td>Totaux</td>
 | 
			
		||||
                        <td>60</td>
 | 
			
		||||
                        <td></td>
 | 
			
		||||
                        <td><span id="total-points-specifique"></span></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </fieldset>
 | 
			
		||||
            <fieldset>
 | 
			
		||||
                <legend>Option(s)</legend>
 | 
			
		||||
                <table>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th rowspan="2">Matière</th>
 | 
			
		||||
                        <th colspan="4">Première</th>
 | 
			
		||||
                        <th colspan="4">Terminale</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th>?</th>
 | 
			
		||||
                        <th>Coef.</th>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                        <th>?</th>
 | 
			
		||||
                        <th>Coef.</th>
 | 
			
		||||
                        <th>Note</th>
 | 
			
		||||
                        <th>Points</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Langues et cultures de l'Antiquité</td>
 | 
			
		||||
                        <td><input type="checkbox" name="check-lca-1re" id="check-lca-1re"></td>
 | 
			
		||||
                        <td id="coef-lca-1re">2</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-lca-1re">Note de langues et cultures de l'Antiquité - première</label>
 | 
			
		||||
                            <input type="number" name="note-lca-1re"
 | 
			
		||||
                                   id="note-lca-1re" class="note" min="0" max="20" step=".1">
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-lca-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td><input type="checkbox" name="check-lca-tle" id="check-lca-tle"></td>
 | 
			
		||||
                        <td id="coef-lca-tle">2</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-lca-tle">Note d'option suivie au cours du cycle terminal - terminale</label>
 | 
			
		||||
                            <input type="number" name="note-lca-tle"
 | 
			
		||||
                                   id="note-lca-tle" class="note" min="0" max="20" step=".1">
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-lca-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Option suivie au cours du cycle terminal (ex: Arts/LV3)</td>
 | 
			
		||||
                        <td><input type="checkbox" name="check-opt1-1re" id="check-opt1-1re"></td>
 | 
			
		||||
                        <td id="coef-opt1-1re">2</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-opt1-1re">Note d'option suivie au cours du cycle terminal - première</label>
 | 
			
		||||
                            <input type="number" name="note-opt1-1re"
 | 
			
		||||
                                   id="note-opt1-1re" class="note" min="0" max="20" step=".1">
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-opt1-1re"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td><input type="checkbox" name="check-opt1-tle" id="check-opt1-tle"></td>
 | 
			
		||||
                        <td id="coef-opt1-tle">2</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-opt1-tle">Note d'option suivie au cours du cycle terminal - terminale</label>
 | 
			
		||||
                            <input type="number" name="note-opt1-tle"
 | 
			
		||||
                                   id="note-opt1-tle" class="note" min="0" max="20" step=".1">
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-opt1-tle"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>Option suivie uniquement en classe de Terminale (ex: Maths/DGEMC)</td>
 | 
			
		||||
                        <td colspan="4" class="null"></td>
 | 
			
		||||
                        <td><input type="checkbox" name="check-opt2" id="check-opt2"></td>
 | 
			
		||||
                        <td id="coef-opt2">2</td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="note-opt2">Note d'option suivie uniquement en classe de Terminale</label>
 | 
			
		||||
                            <input type="number" name="note-opt2"
 | 
			
		||||
                                   id="note-opt2" class="note" min="0" max="20" step=".1">
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <span id="points-opt2"></span>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr class="total">
 | 
			
		||||
                        <td>Totaux</td>
 | 
			
		||||
                        <td colspan="4">Total des coefficients : <span id="total-coef-options">-</span></td>
 | 
			
		||||
                        <td colspan="4">Total des points : <span id="total-points-options">-</span></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </fieldset>
 | 
			
		||||
        </form>
 | 
			
		||||
    </main>
 | 
			
		||||
 | 
			
		||||
    <footer>
 | 
			
		||||
        © Valentin Moguérou 2023 - Licence GNU AGPL v3 - <a href="https://git.kaz.bzh/valentin/simulation.wikibac.fr" target="_blank">Code source</a>
 | 
			
		||||
    </footer>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										126
									
								
								BFI/style.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										126
									
								
								BFI/style.css
									
									
									
									
									
										Executable file
									
								
							@@ -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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 17 KiB  | 
		Reference in New Issue
	
	Block a user