Script pour Tampermonkey capable de calculer la note moyenne pour l'UE et le semestre directement dans le navigateur.
👆 Cliquez pour déplier
// ==UserScript==
// @name ODIN – Moyennes
// @namespace odin.iut.uca.fr
// @version 1.2
// @description Moyennes calculées mises en évidence en jaune
// @match https://odin.iut.uca.fr/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
function num(txt) {
if (!txt) return null;
txt = txt.replace(',', '.').trim();
const n = parseFloat(txt);
return isNaN(n) ? null : n;
}
function markCalculated(cell) {
cell.style.fontWeight = "bold";
cell.style.color = "#fff3b0";
cell.title = "Calculé automatiquement";
}
const rows = Array.from(document.querySelectorAll("table.releve tr"));
let semesterSum = 0;
let semesterCoeff = 0;
for (let i = 0; i < rows.length; i++) {
const row = rows[i];
const bleuCell = row.querySelector("td.bleu");
if (!bleuCell) continue;
let blocSum = 0;
let blocCoeffSum = 0;
for (let j = i + 1; j < rows.length; j++) {
const nextRow = rows[j];
if (nextRow.querySelector("td.bleu")) break;
const noteCell = nextRow.querySelector("td.vert.text_align_center");
if (!noteCell) continue;
const coeffCell = noteCell.previousElementSibling;
const coeff = num(coeffCell?.textContent);
const note = num(noteCell.textContent);
if (coeff !== null && note !== null) {
blocSum += note * coeff;
blocCoeffSum += coeff;
}
}
if (blocCoeffSum > 0) {
const moyenneBleu = blocSum / blocCoeffSum;
const cells = row.cells;
const noteTarget = cells[2] ?? cells[cells.length - 4];
if (noteTarget) {
noteTarget.textContent = moyenneBleu.toFixed(2);
markCalculated(noteTarget);
}
semesterSum += blocSum;
semesterCoeff += blocCoeffSum;
}
}
if (semesterCoeff > 0) {
const semestreMoy = (semesterSum / semesterCoeff).toFixed(2);
const nameRow = rows.find(r =>
r.querySelector("td[colspan='5']")
);
if (nameRow) {
const ths = nameRow.querySelectorAll("th");
if (ths.length > 0) {
ths[0].textContent = semestreMoy;
markCalculated(ths[0]);
}
}
}
})();Merci à @eveyraud pour avoir développé le programme Python dont l'algorithme de calcul est utilisé dans ce script.
Installez l'extension pour votre navigateur
Warning
Ces instructions concernent Chrome, vos étapes peuvent être différentes.
- Cliquez sur le bouton des extensions (en forme de puzzle) dans le coin supérieur droit du navigateur.
- Cliquez sur le bouton «Gérer les extensions».
- Recherchez Tampermonkey et cliquez sur le bouton «Détails».
- Trouvez et activez l'option «Autoriser les scripts utilisateur».
Note
Utilisez la touche Commande Ă la place de Ctrl si vous utilisez macOS.
- Cliquez sur le bouton des extensions (en forme de puzzle) dans le coin supérieur droit du navigateur.
- Cliquez sur Tampermonkey.
- Cliquez sur le bouton «Créer un nouveau script».
- Copiez le code source du script ci-dessus.
- Dans l'onglet Éditeur de script, appuyez sur Ctrl+A pour sélectionner tout le code, puis sur Ctrl+V pour remplacer le code par celui que vous avez copié.
- Appuyez sur Ctrl+S pour enregistrer le script.
C'est prĂŞt.
- Accédez à ODIN et ouvrez l'onglet des notes, la moyenne sera automatiquement calculée et affichée en jaune.
Warning
Pour que le script s'affiche dans le menu d'accès rapide, vous devez être sur ODIN.
- Oui. Cliquez sur le bouton des extensions (en forme de puzzle) dans le coin supérieur droit du navigateur.
- Cliquez sur Tampermonkey.
- Dans la liste, vous trouverez le script « ODIN – Moyennes », cliquez dessus pour le désactiver.