Planning — Imperium Fight
@import url(‘
https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&display=swap&rsquo ;);
:root{
–bg: #131211;
–panel: #1c1a18;
–panel-border: rgba(255,255,255,0.08);
–text: #efece6;
–text-dim: #a29c92;
–gold: #e3b23c;
–crimson: #c1382c;
–teal: #3a9188;
–olive: #93a13a;
}
*{ box-sizing:border-box; }
body{
margin:0;
background:var(–bg);
color:var(–text);
font-family:’Inter’, sans-serif;
padding: 28px 16px 60px;
}
.wrap{ max-width:640px; margin:0 auto; }
header{ margin-bottom: 22px; }
.kicker{
color:var(–gold);
font-size:13px;
font-weight:600;
letter-spacing:0.02em;
}
h1{
font-family:’Oswald’, sans-serif;
font-weight:700;
font-size:34px;
line-height:1.05;
margin:4px 0 6px;
}
.sub{
color:var(–text-dim);
font-size:14px;
line-height:1.5;
}
.tabs{
display:flex;
gap:6px;
margin: 22px 0 18px;
background:var(–panel);
border:1px solid var(–panel-border);
border-radius:12px;
padding:4px;
}
.tab{
flex:1;
text-align:center;
padding:10px 6px;
border-radius:9px;
font-family:’Oswald’, sans-serif;
font-weight:600;
font-size:14px;
color:var(–text-dim);
cursor:pointer;
border:none;
background:transparent;
transition: background .15s ease, color .15s ease;
}
.tab.active{
background:var(–gold);
color:#1a1508;
}
.day{
margin-bottom: 20px;
}
.day-title{
font-family:’Oswald’, sans-serif;
font-weight:600;
font-size:16px;
color:var(–text);
padding-bottom:8px;
border-bottom:1px solid var(–panel-border);
margin-bottom:10px;
}
.day.empty .day-title{ color:var(–text-dim); }
.class-row{
display:flex;
align-items:center;
gap:12px;
padding:10px 12px;
background:var(–panel);
border:1px solid var(–panel-border);
border-radius:10px;
margin-bottom:8px;
}
.dot{
width:9px; height:9px;
border-radius:50%;
flex-shrink:0;
}
.class-name{
font-weight:600;
font-size:14.5px;
flex:1;
min-width:0;
}
.class-time{
font-size:13.5px;
color:var(–text-dim);
font-variant-numeric: tabular-nums;
white-space:nowrap;
}
.rest-note{
color:var(–text-dim);
font-size:13.5px;
font-style:italic;
padding: 2px 2px 0;
}
.legend{
margin-top: 28px;
padding-top: 16px;
border-top:1px solid var(–panel-border);
display:flex;
flex-wrap:wrap;
gap: 14px 18px;
}
.legend-item{
display:flex;
align-items:center;
gap:7px;
font-size:12.5px;
color:var(–text-dim);
}
footer{
margin-top: 26px;
color:var(–text-dim);
font-size:12.5px;
line-height:1.6;
}
Saison 2026–2027 · Reprise le mardi 1er septembre
Planning des cours
Inscriptions possibles toute l’année. Choisissez votre groupe pour voir les cours jour par jour.
Enfants 6–11 ans
Ados 12–17 ans
Adultes
Boxe
Lutte / Grappling / MMA / Krav Maga
Jiu-Jitsu Brésilien
Préparation physique
En cours de saison, le planning peut être sujet à des modifications d’horaire ou de discipline (changement de situation des professeurs, décisions administratives, etc.).
const COLORS = {
boxe: ‘var(–gold)’,
combat: ‘var(–crimson)’,
jjb: ‘var(–teal)’,
prepa: ‘var(–olive)’,
};
function c(name, time, type){ return { name, time, type }; }
const DATA = {
enfants: {
label: « Planning enfants 6–11 ans »,
days: {
« Lundi »: [ c(« Boxe », « 18h – 19h », « boxe ») ],
« Mardi »: [ c(« Jiu-Jitsu Brésilien », « 18h – 19h », « jjb ») ],
« Mercredi »: [ c(« Boxe », « 17h – 18h », « boxe ») ],
« Jeudi »: [],
« Vendredi »: [ c(« Grappling / Pancrace », « 17h30 – 18h30 », « combat ») ],
« Samedi »: [ c(« Jiu-Jitsu Brésilien », « 10h – 11h », « jjb »), c(« Préparation physique », « 14h – 15h30 », « prepa ») ],
« Dimanche »: [],
}
},
ado: {
label: « Planning ados 12–17 ans »,
days: {
« Lundi »: [ c(« Lutte », « 19h – 20h30 », « combat »), c(« MMA », « 20h30 – 22h », « combat ») ],
« Mardi »: [ c(« Boxe 100% féminine », « 18h – 19h », « boxe »), c(« K1 Kick-Boxing », « 19h – 20h30 », « boxe »), c(« Jiu-Jitsu Brésilien », « 19h – 21h », « jjb »), c(« MMA », « 20h30 – 22h », « combat ») ],
« Mercredi »: [ c(« Boxe ado 12–17 ans », « 18h – 19h », « boxe »), c(« Grappling / Krav Maga », « 19h – 20h30 », « combat »), c(« Pancrace / MMA », « 20h30 – 22h », « combat ») ],
« Jeudi »: [ c(« Lutte », « 18h30 – 20h », « combat »), c(« Boxe Thaï », « 20h – 21h30 », « boxe »), c(« Jiu-Jitsu Brésilien », « 20h – 21h30 », « jjb ») ],
« Vendredi »: [ c(« MMA », « 17h30 – 19h », « combat »), c(« K1 Kick-Boxing », « 19h – 20h30 », « boxe »), c(« Grappling », « 19h – 20h30 », « combat ») ],
« Samedi »: [ c(« Jiu-Jitsu Brésilien », « 11h – 13h », « jjb »), c(« Boxe Thaï », « 12h30 – 14h », « boxe »), c(« Préparation physique », « 14h – 15h30 », « prepa ») ],
« Dimanche »: [ c(« Boxe anglaise (ado + adulte) », « 11h – 12h30 », « boxe ») ],
}
},
adultes: {
label: « Planning adultes »,
days: {
« Lundi »: [ c(« Boxe anglaise », « 19h – 20h30 », « boxe »), c(« Lutte », « 19h – 20h30 », « combat »), c(« MMA », « 20h30 – 22h », « combat ») ],
« Mardi »: [ c(« Boxe 100% féminine », « 18h – 19h », « boxe »), c(« K1 Kick-Boxing », « 19h – 20h30 », « boxe »), c(« Jiu-Jitsu Brésilien », « 19h – 21h », « jjb »), c(« MMA », « 20h30 – 22h », « combat ») ],
« Mercredi »: [ c(« Boxe anglaise », « 19h – 20h30 », « boxe »), c(« Grappling / Krav Maga », « 19h – 20h30 », « combat »), c(« Pancrace / MMA », « 20h30 – 22h », « combat ») ],
« Jeudi »: [ c(« Lutte », « 18h30 – 20h », « combat »), c(« Boxe Thaï », « 20h – 21h30 », « boxe »), c(« Jiu-Jitsu Brésilien », « 20h – 21h30 », « jjb ») ],
« Vendredi »: [ c(« MMA », « 17h30 – 19h », « combat »), c(« K1 Kick-Boxing », « 19h – 20h30 », « boxe »), c(« Grappling », « 19h – 20h30 », « combat ») ],
« Samedi »: [ c(« Jiu-Jitsu Brésilien », « 11h – 13h », « jjb »), c(« Boxe Thaï », « 12h30 – 14h », « boxe »), c(« Préparation physique », « 14h – 15h30 », « prepa ») ],
« Dimanche »: [ c(« Boxe anglaise (ado + adulte) », « 11h – 12h30 », « boxe ») ],
}
}
};
function render(group){
const data = DATA[group];
const el = document.getElementById(‘schedule’);
el.innerHTML = »;
Object.entries(data.days).forEach(([day, classes]) => {
const dayDiv = document.createElement(‘div’);
dayDiv.className = ‘day’ + (classes.length === 0 ? ‘ empty’ : »);
const title = document.createElement(‘div’);
title.className = ‘day-title’;
title.textContent = day;
dayDiv.appendChild(title);
if(classes.length === 0){
const note = document.createElement(‘div’);
note.className = ‘rest-note’;
note.textContent = ‘Pas de cours’;
dayDiv.appendChild(note);
} else {
classes.forEach(cls => {
const row = document.createElement(‘div’);
row.className = ‘class-row’;
row.innerHTML = `
${cls.name}
${cls.time}
`;
dayDiv.appendChild(row);
});
}
el.appendChild(dayDiv);
});
}
document.querySelectorAll(‘.tab’).forEach(tab => {
tab.addEventListener(‘click’, () => {
document.querySelectorAll(‘.tab’).forEach(t => t.classList.remove(‘active’));
tab.classList.add(‘active’);
render(tab.dataset.group);
});
});
render(‘enfants’);
REPRISE DU PLANNING COMPLET LE MARDI 1er SEPTEMBRE 2026
Inscriptions possibles toute l’année
En cours de saison, le planning peut-être sujet à des modifications d’horaire et de discipline: changement de situation des professeurs, décisions administratives liées au contexte sanitaire etc.