Sujet résolu
L'auteur a trouvé une solution à son problème.
Sponsorisé
Connectez-vous pour masquer les pubsTu parle il était même pas la pour leur propre cérémonie d'ouverture ces chiens
il y a 16 heures
Saitamalin
16h
bon par contre je mange donc faut que le début soit tranquille
J'espère pour toi
il y a 16 heures
J'ai créé un script Tampermonkey pour ce site (
https://eloratings.net/2026_World_Cup_fixtures) qui permet de voir d'un coup d'œil les prochaines rencontres intéressantes
La somme de l'Elo et du rang de chaque équipe est ajoutée dans une colonne, avec une couleur différente selon le rang (gris = match rang D / bleu = match rang C / orange = match rang B / rouge = match rang A / violet = match rang S)
Pour ceux que ça intéresse
La somme de l'Elo et du rang de chaque équipe est ajoutée dans une colonne, avec une couleur différente selon le rang (gris = match rang D / bleu = match rang C / orange = match rang B / rouge = match rang A / violet = match rang S)
Pour ceux que ça intéresse
// ==UserScript==
// @name EloRatings.net - World Cup Fixtures Sum (Advanced Heatmap)
// @version 6.0
// @description Affiche la somme avec une taille augmentée et les nouveaux paliers de couleur précis
// @author Gemini
// @match
https://eloratings.net/*_fixtures
// @run-at document-idle
// @grant none
// ==/UserScript==
(function() {
'use strict';
const COL_WIDTH = 75; // Largeur de la colonne
function processRow(row) {
const cells = Array.from(row.querySelectorAll('.slick-cell'))
.filter(c => !c.classList.contains('custom-sum-cell'));
if (cells.length < 5) return;
// Tri par position réelle sur l'écran
cells.sort((a, b) => a.getBoundingClientRect().left - b.getBoundingClientRect().left);
const rankCell = cells[3]; // Colonne Rank (#)
const ratingCell = cells[4]; // Colonne Rating (Elo)
if (!rankCell || !ratingCell) return;
const rankMatches = rankCell.innerText.match(/\d+/g);
const ratingMatches = ratingCell.innerText.match(/\d+/g);
if (!rankMatches || rankMatches.length < 2 || !ratingMatches || ratingMatches.length < 2) return;
const rankSum = parseInt(rankMatches[0], 10) + parseInt(rankMatches[1], 10);
const eloSum = parseInt(ratingMatches[0], 10) + parseInt(ratingMatches[1], 10);
// --- NOUVELLE LOGIQUE DE COULEURS DEMANDÉE ---
let rankColor = '#a0a0a0'; // Par défaut : 100 et au-dessus (gris estompé)
if (rankSum < 10) {
rankColor = '#b500ff'; // En-dessous de 10 (rouge vif)
} else if (rankSum < 20) {
rankColor = '#cc0000'; // En-dessous de 20 (rouge)
} else if (rankSum < 50) {
rankColor = '#ff9500'; // En-dessous de 50 (orange)
} else if (rankSum < 100) {
rankColor = '#0066cc'; // En-dessous de 100 (bleu)
}
let eloColor = '#a0a0a0'; // Par défaut : moins de 3400 (gris estompé)
if (eloSum >= 4100) {
eloColor = '#b500ff'; // 4100 et au-dessus (rouge vif)
} else if (eloSum >= 4000) {
eloColor = '#cc0000'; // 4000 et au-dessus (rouge)
} else if (eloSum >= 3700) {
eloColor = '#ff9500'; // 3700 et au-dessus (orange)
} else if (eloSum >= 3400) {
eloColor = '#0066cc'; // 3400 et au-dessus (bleu)
}
// ----------------------------------------------
const rowRect = row.getBoundingClientRect();
const rankRect = rankCell.getBoundingClientRect();
const customLeft = rankRect.left - rowRect.left - COL_WIDTH;
let customCell = row.querySelector('.custom-sum-cell');
if (!customCell) {
customCell = document.createElement('div');
customCell.className = 'slick-cell custom-sum-cell';
row.appendChild(customCell);
}
// Taille augmentée à 13px pour une meilleure lisibilité
const targetHTML = `
<div style="font-weight: bold; color: ${rankColor}; font-size: 13px; height: 50%; display: flex; align-items: center; justify-content: center;">${rankSum}</div>
<div style="font-weight: bold; color: ${eloColor}; font-size: 13px; height: 50%; display: flex; align-items: center; justify-content: center;">${eloSum}</div>
`;
if (customCell.innerHTML !== targetHTML || customCell.style.left !== (customLeft + 'px')) {
customCell.style.position = 'absolute';
customCell.style.left = customLeft + 'px';
customCell.style.width = COL_WIDTH + 'px';
customCell.style.height = '100%';
customCell.style.display = 'flex';
customCell.style.flexDirection = 'column';
customCell.style.justifyContent = 'center';
customCell.style.alignItems = 'center';
customCell.style.backgroundColor = '#f2f2f2'; // Fond gris de la colonne
customCell.style.borderLeft = '1px solid #dbdbdb';
customCell.style.borderRight = '1px solid #dbdbdb';
customCell.style.boxSizing = 'border-box';
customCell.style.zIndex = '5';
customCell.innerHTML = targetHTML;
}
}
function updateHeader() {
const headerContainer = document.querySelector('.slick-header-columns');
if (!headerContainer) return;
const headers = Array.from(headerContainer.querySelectorAll('.slick-header-column'))
.filter(h => !h.classList.contains('custom-sum-header'));
if (headers.length < 4) return;
headers.sort((a, b) => a.getBoundingClientRect().left - b.getBoundingClientRect().left);
const rankHeader = headers[3];
const containerRect = headerContainer.getBoundingClientRect();
const rankHeaderRect = rankHeader.getBoundingClientRect();
const customHeaderLeft = rankHeaderRect.left - containerRect.left - COL_WIDTH;
let customHeader = headerContainer.querySelector('.custom-sum-header');
if (!customHeader) {
customHeader = document.createElement('div');
customHeader.className = 'ui-state-default slick-header-column custom-sum-header';
headerContainer.appendChild(customHeader);
}
customHeader.style.position = 'absolute';
customHeader.style.left = customHeaderLeft + 'px';
customHeader.style.width = COL_WIDTH + 'px';
customHeader.style.height = '100%';
customHeader.style.display = 'flex';
customHeader.style.flexDirection = 'column';
customHeader.style.alignItems = 'center';
customHeader.style.justifyContent = 'flex-start';
customHeader.style.paddingTop = '6px';
customHeader.style.backgroundColor = '#e5e5e5'; // En-tête gris
customHeader.style.borderLeft = '1px solid #b5b5b5';
customHeader.style.borderRight = '1px solid #b5b5b5';
customHeader.style.boxSizing = 'border-box';
customHeader.style.zIndex = '5';
customHeader.innerHTML = '<span class="slick-column-name" style="font-weight: bold; color: #333; font-size: 11px; text-align: center; line-height: 1.2;">Sum<br># / Elo</span>';
}
// Observateur avec sécurité anti-plantage
const observer = new MutationObserver(() => {
observer.disconnect();
updateHeader();
document.querySelectorAll('.slick-row').forEach(processRow);
observer.observe(document.body, { childList: true, subtree: true });
});
updateHeader();
document.querySelectorAll('.slick-row').forEach(processRow);
observer.observe(document.body, { childList: true, subtree: true });
})();
il y a 16 heures
Miralem Pjanic joue plus
Ça se voit que je suis plus le foot depuis des années
Ça se voit que je suis plus le foot depuis des années
il y a 16 heures-PEMT
Sponsorisé
Connectez-vous pour masquer les pubsAnthony_A3
16h
Re pour le match Canada Bosnie.
Putain ils sont chaud sur le coup d'envoi
il y a 16 heures
Le Canada va jouer high pressure sur les 15-20 premières minutes puis ils vont fatiguer
il y a 16 heures
Kyogre
16h
Le Canada va jouer high pressure sur les 15-20 premières minutes puis ils vont fatiguer
Sûrement
il y a 16 heures
Je pense aussi en tout cas plus qu'hier
Pas compliqué ahi
il y a 16 heures
En ligne
219
Sur ce sujet0
















