`;
// Injecter le HTML
targetContainer.innerHTML = adHTML;
// Marquer comme chargé
setTimeout(() => {
targetContainer.classList.add('senego-ad-loaded');
const zone = document.getElementById('senego-header-ad-zone');
if (zone) zone.classList.add('senego-ad-loaded');
console.log('[Senego AdSense RADICAL] Marqué comme chargé');
}, 1000);
}
// Méthode alternative avec createElement
function injectAdSenseAlternative() {
console.log('[Senego AdSense RADICAL] Méthode alternative...');
const isMobile = window.innerWidth <= 768;
const targetContainer = isMobile ?
document.getElementById('senego-ad-mobile') :
document.getElementById('senego-ad-desktop');
if (!targetContainer) return;
// Nettoyer
targetContainer.innerHTML = '';
// Charger le script AdSense si pas déjà fait
if (!document.querySelector('script[src*="adsbygoogle.js"]')) {
const script = document.createElement('script');
script.async = true;
script.src = `https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${CONFIG.publisherId}`;
script.crossOrigin = 'anonymous';
document.head.appendChild(script);
}
// Créer l'ins element
const ins = document.createElement('ins');
ins.className = 'adsbygoogle';
ins.style.display = 'block';
ins.setAttribute('data-ad-client', CONFIG.publisherId);
ins.setAttribute('data-ad-slot', CONFIG.adSlot);
ins.setAttribute('data-ad-format', 'auto');
ins.setAttribute('data-full-width-responsive', 'true');
targetContainer.appendChild(ins);
// Initialiser AdSense
setTimeout(() => {
try {
window.adsbygoogle = window.adsbygoogle || [];
window.adsbygoogle.push({});
console.log('[Senego AdSense RADICAL] Alternative - annonce poussée');
// Marquer comme chargé
setTimeout(() => {
targetContainer.classList.add('senego-ad-loaded');
const zone = document.getElementById('senego-header-ad-zone');
if (zone) zone.classList.add('senego-ad-loaded');
}, 1000);
} catch (e) {
console.error('[Senego AdSense RADICAL] Erreur alternative:', e);
}
}, 2000);
}
// Méthode IFRAME de secours
function injectAdSenseIframe() {
console.log('[Senego AdSense RADICAL] Méthode iframe de secours...');
const isMobile = window.innerWidth <= 768;
const targetContainer = isMobile ?
document.getElementById('senego-ad-mobile') :
document.getElementById('senego-ad-desktop');
if (!targetContainer) return;
const width = isMobile ? 320 : 728;
const height = isMobile ? 50 : 90;
targetContainer.innerHTML = `
`;
targetContainer.classList.add('senego-ad-loaded');
const zone = document.getElementById('senego-header-ad-zone');
if (zone) zone.classList.add('senego-ad-loaded');
}
// Démarrage immédiat après DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', startInjection);
} else {
startInjection();
}
function startInjection() {
console.log('[Senego AdSense RADICAL] DOM prêt, démarrage injection...');
// Essayer méthode 1
setTimeout(() => {
injectAdSenseDirectly();
}, 500);
// Si échec, essayer méthode 2
setTimeout(() => {
const loaded = document.querySelector('.senego-ad-loaded');
if (!loaded) {
console.log('[Senego AdSense RADICAL] Méthode 1 échouée, essai méthode 2...');
injectAdSenseAlternative();
}
}, 3000);
// Si échec, essayer iframe
setTimeout(() => {
const loaded = document.querySelector('.senego-ad-loaded');
if (!loaded) {
console.log('[Senego AdSense RADICAL] Méthodes 1&2 échouées, iframe de secours...');
injectAdSenseIframe();
}
}, 6000);
}
// Fonction publique pour forcer le rechargement
window.forceAdReload = function() {
const containers = document.querySelectorAll('#senego-ad-desktop, #senego-ad-mobile');
containers.forEach(c => c.classList.remove('senego-ad-loaded'));
startInjection();
};
})();
Habib Beye a annoncé la prolongation automatique de son contrat avec le Stade Rennais jusqu’en 2026. Cette extension s’est déclenchée grâce à une clause intégrée à son contrat, activée après le maintien du club en Ligue 1.
Lorsque Beye avait accepté de prendre les rênes d’un Rennes en grande difficulté, dangereusement proche de la relégation, nombreux étaient ceux qui avaient qualifié sa décision de pari fou, voire de suicide professionnel.
Pourtant, le technicien franco-sénégalais a su faire taire les critiques. Grâce à son travail rigoureux, sa vision tactique claire et son leadership affirmé, il a redonné espoir à une équipe en perdition et permis au club de retrouver une dynamique positive.
Fort de ce maintien, Habib Beye dispose désormais d’une marge de manœuvre plus confortable pour façonner l’effectif à son image. Il pourra ainsi lancer sa campagne de recrutement en vue de bâtir un groupe compétitif pour la saison prochaine, avec l’ambition d’installer durablement Rennes dans la première moitié du classement, voire viser l’Europe.
Bonne continuation Gaïndé!