OK
https://2stv.net/
Senegal
Country
Network
April 26, 2025, 08:17 PM UTC
Date & Time
Websites
Websites
Runtime: 1.6s
On April 26, 2025, 08:17 PM UTC, https://2stv.net/ was accessible when tested on AS8346 in Senegal.

Failures

HTTP Experiment
null
DNS Experiment
null
Control
null

DNS Queries

Resolver:
213.154.64.74
Query:
IN A 2stv.net
Engine:
system
Name
Class
TTL
Type
DATA
@
IN
A
128.65.195.33
Query:
IN AAAA 2stv.net
Engine:
system
Name
Class
TTL
Type
DATA
@
IN
AAAA
2001:1600:4:b:46a8:42ff:fe27:d17c

TCP Connections

Connection to 2001:1600:4:b:46a8:42ff:fe27:d17c:443 was blocked.
Connection to 128.65.195.33:443 succeeded.

HTTP Requests

URL
GET https://2stv.net/
Response Headers
Cache-Control:
no-cache, private
Content-Type:
text/html; charset=UTF-8
Date:
Sat, 26 Apr 2025 20:17:12 GMT
Server:
Apache
Set-Cookie:
XSRF-TOKEN=eyJpdiI6IlVJRjlxTTI3c3ZBUGtGZWs0RHNDWkE9PSIsInZhbHVlIjoiKyt5a2RKU0RiV2dLQmVVUTJyS25WMmI2Z0c0bUd6dlRudjRoZFFhMVlGVzNXT1JSa3hmMUZBbkNPTGxxUTk5RDZ1UzdoWXdWUW5CTG9WUFJWaUR6VzVBdUcwL0h6SHk3OFBIZTdTaFc3V3kydUxyWmh6d3hQeTdaRmc3Ky84QWMiLCJtYWMiOiIzMTNmYjk0MjI0NTg3MTA5MzgyNWUzYzRkMjY0MmQwMGQ3YzNhYzU2NjIzYzMzYTc0NmM1OWMzMTUwMzA5MTJmIiwidGFnIjoiIn0%3D; expires=Sat, 26 Apr 2025 22:17:12 GMT; Max-Age=7200; path=/; secure; samesite=lax
Strict-Transport-Security:
max-age=16000000
Vary:
Accept-Encoding
Response Body
<!doctype html>
<html lang="fr" dir="ltr">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, maximum-scale=5.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="format-detection" content="telephone=no">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-title" content="2STV Sénégal">
    <meta name="application-name" content="2STV Sénégal">
    <meta name="msapplication-TileColor" content="#FF4500">
    <meta name="msapplication-config" content="https://2stv.net/browserconfig.xml">

    <meta name="google-site-verification" content="4PP4FvAOOBBuRYfm9wrrdrh0nmkiKzkPeLNQfRH-cWk" />

    <!-- FAVICONS -->
    <link rel="apple-touch-icon" sizes="180x180" href="https://2stv.net/apple-touch-icon.png">
    <link rel="icon" type="image/png" sizes="32x32" href="https://2stv.net/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="https://2stv.net/favicon-16x16.png">
    <link rel="manifest" href="https://2stv.net/site.webmanifest">
    <link rel="mask-icon" href="https://2stv.net/safari-pinned-tab.svg" color="#FF4500">

    
    <!-- TITLE / DESCRIPTION / KEYWORDS -->
    <title>2STV Sénégal | La télévsision autrement</title>
    <meta name="description" content="2STV, première chaîne privée du Sénégal, vous propose une programmation riche et variée : actualités, émissions culturelles, divertissements et séries. Direct et replay disponibles 24h/24.">
    <meta name="keywords" content="2stv sénégal, télévision sénégalaise, ...">
    <meta name="author" content="2STV Sénégal">
    <meta name="robots" content="index, follow">
    <link rel="canonical" href="https://2stv.net">

    <!-- OPEN GRAPH (FALLBACK) -->
            <meta property="og:type" content="website">
        <meta property="og:url" content="https://2stv.net">
        <meta property="og:title" content="2STV Sénégal | La télévsision autrement">
        <meta property="og:description" content="2STV, première chaîne privée du Sénégal, vous propose une programmation riche et variée : actualités, émissions culturelles, divertissements et séries. Direct et replay disponibles 24h/24.">
        <meta property="og:image" content="https://2stv.net/assets/img/2stv-share.jpg">
        <meta property="og:locale" content="fr_FR">
        <meta property="og:site_name" content="2STV Sénégal">
    
    <!-- TWITTER (FALLBACK) -->
            <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:site" content="@2stvsenegal">
        <meta name="twitter:title" content="2STV Sénégal | La télévsision autrement">
        <meta name="twitter:description" content="2STV, première chaîne privée du Sénégal, vous propose une programmation riche et variée : actualités, émissions culturelles, divertissements et séries. Direct et replay disponibles 24h/24.">
        <meta name="twitter:image" content="https://2stv.net/assets/img/2stv-share.jpg">
    
    <!-- SCHEMA.ORG (ORGANIZATION) -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "2STV Sénégal",
      "url": "https://2stv.net",
      "logo": {
          "@type": "ImageObject",
          "url": "https://2stv.net/assets/img/logo.png",
          "width": "512",
          "height": "512"
      },
      "sameAs": [
        "https://www.facebook.com/2stvsenegal",
        "https://twitter.com/2stvsenegal",
        "https://www.instagram.com/2stv_senegal",
        "https://www.youtube.com/@2stvsenegal"
      ],
      "contactPoint": {
          "@type": "ContactPoint",
          "telephone": "+221-XX-XXX-XXXX",
          "contactType": "customer service",
          "availableLanguage": ["French", "Wolof"],
          "areaServed": "SN",
          "hoursAvailable": "Mo-Su 00:00-24:00"
      },
      "address": {
          "@type": "PostalAddress",
          "addressCountry": "SN",
          "addressLocality": "Dakar"
      },
                ...{"@type":"Organization"}
          }
    </script>

    <!-- BREADCRUMBS (optionnel) -->
    
    <!-- Autres meta tags -->
    <meta name="theme-color" content="#FF4500">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">

    <!-- PRÉCHARGEMENT FONTS / LOGO -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preload" href="https://2stv.net/assets/img/logo.png" as="image">

    <!-- TAILWIND / STYLES GLOBAUX -->
    <link rel="icon" href="https://2stv.net/assets/img/favicon.ico" type="image/x-icon">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap" rel="stylesheet">
<link rel="preload" as="style" href="https://2stv.net/build/assets/app-BzKtcMs8.css" /><link rel="modulepreload" href="https://2stv.net/build/assets/app-C1-XIpUa.js" /><link rel="stylesheet" href="https://2stv.net/build/assets/app-BzKtcMs8.css" data-navigate-track="reload" /><script type="module" src="https://2stv.net/build/assets/app-C1-XIpUa.js" data-navigate-track="reload"></script><link href="https://vjs.zencdn.net/8.18.0/video-js.css" rel="stylesheet">
<link href="https://unpkg.com/@videojs/themes@1/dist/sea/index.css" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
    <!-- VOS STYLES OU LIBRAIRIES -->
    <link href="https://vjs.zencdn.net/8.16.1/video-js.css" rel="stylesheet" />
<link href="https://unpkg.com/video.js@7/dist/video-js.min.css" rel="stylesheet" />
<link href="https://unpkg.com/@videojs/themes@1/dist/sea/index.css" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<style>
    .img-loading {
        background-color: #f3f4f6;
        transition: background-color 0.3s ease;
    }
    .hide-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .hide-scrollbar::-webkit-scrollbar {
        display: none;
    }
    
    button:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    .animate-pulse {
      animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }

    @keyframes pulse {
      0%, 100% {
        opacity: 1;
      }
      50% {
        opacity: .5;
      }
    }
    
    /* Styles pour la vidéo de fond */
    .background-video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: 0.9;
    }
    
    /* Optimisation mobile pour petite vidéo (560x540) */
    @media (max-width: 768px) {
      .background-video {
        opacity: 0.7; /* Plus opaque sur mobile */
        object-position: center center; /* Centrer la vidéo */
      }
      
      /* Ajuster la hauteur du conteneur sur mobile pour éviter les étirements excessifs */
      .hero-container {
        max-height: 85vh;
      }
      
      /* Améliorer la lisibilité du contenu sur les petits écrans */
      .hero-content {
        background-color: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
      }
    }
    
    /* Styles pour améliorer la qualité perçue de la vidéo de basse résolution */
    .video-quality-boost {
      filter: brightness(1.05) contrast(1.05);
    }
    
    /* Fallback pour les navigateurs qui ne prennent pas en charge la lecture vidéo */
    .video-fallback {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: 0.9;
      z-index: -1;
    }
</style>

    <!-- SECTIONS POUR LES META SPÉCIFIQUES (vidéo, etc.) -->
            <script type="text/javascript" class="flasher-js" nonce='fbd6eaf12d00b1e4a86d563fdd934ca7'>
        (function(window, document) {
            const merge = (first, second) => {
                if (Array.isArray(first) && Array.isArray(second)) {
                    return [...first, ...second.filter(item => !first.includes(item))];
                }

                if (typeof first === 'object' && typeof second === 'object') {
                    for (const [key, value] of Object.entries(second)) {
                        first[key] = key in first ? { ...first[key], ...value } : value;
                    }
                    return first;
                }

                return undefined;
            };

            const mergeOptions = (...options) => {
                const result = {};

                options.forEach(option => {
                    Object.entries(option).forEach(([key, value]) => {
                        result[key] = key in result ? merge(result[key], value) : value;
                    });
                });

                return result;
            };

            const renderCallback = (options) => {
                if(!window.flasher) {
                    throw new Error('Flasher is not loaded');
                }

                window.flasher.render(options);
            };

            const render = (options) => {
                if (options instanceof Event) {
                    options = options.detail;
                }

                if (['interactive', 'complete'].includes(document.readyState)) {
                    renderCallback(options);
                } else {
                    document.addEventListener('DOMContentLoaded', () => renderCallback(options));
                }
            };

            const addScriptAndRender = (options) => {
                const mainScript = '/vendor/flasher/flasher.min.js?id=f710e711ba04506eb4d82fa27cd5ec3d';

                if (window.flasher || !mainScript || document.querySelector('script[src="' + mainScript + '"]')) {
                    render(options);
                } else {
                    const tag = document.createElement('script');
                    tag.src = mainScript;
                    tag.type = 'text/javascript';
                    tag.setAttribute('nonce', 'fbd6eaf12d00b1e4a86d563fdd934ca7');
                    tag.onload = () => render(options);

                    document.head.appendChild(tag);
                }
            };

            const addRenderListener = () => {
                if (1 === document.querySelectorAll('script.flasher-js').length) {
                    document.addEventListener('flasher:render', render);
                }

                    document.addEventListener('livewire:navigating', () => {
      document.querySelectorAll('.fl-no-cache').forEach(el => el.remove());
    });
            };

            const options = [];
            options.push({"envelopes":[],"scripts":[],"styles":[],"options":[],"context":{"envelopes_only":false,"csp_script_nonce":"fbd6eaf12d00b1e4a86d563fdd934ca7","csp_style_nonce":"646859aa50325fc6e69a41bd37b05de5"}});
            /** {--FLASHER_REPLACE_ME--} **/
            addScriptAndRender(mergeOptions(...options));
            addRenderListener();
        })(window, document);
    </script>
</head>
<body class="bg-white font-roboto h-screen">
    <div lang="fr">
        <header class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 w-full" id="mainHeader">
    <!-- Background avec effet de verre -->
    <div class="absolute inset-0 backdrop-blur-sm bg-black/70 transition-all duration-300"></div>
    
    <!-- Contenu du header -->
    <div class="relative w-full">
        <!-- Top Navigation -->
        <div class="container mx-auto px-4 py-6 flex justify-between items-center">
            <!-- Menu Button -->
            <div class="flex items-center">
                <button id="menuButton" class="text-white mr-4 hover:text-gray-300 transition-colors">
                    <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
                    </svg>
                </button>
            </div>
        
            <div class="flex-1 flex justify-center items-center">
                <h1 class="text-xl font-bold text-white truncate">
                    <a href="https://2stv.net" class="hidden md:inline">2STV SÉNÉGAL | LA TÉLÉVISION AUTREMENT</a>
                    <a href="https://2stv.net" class="md:hidden">2STV SÉNÉGAL</a>
                </h1>
            </div>
        
            <!-- Buttons -->
            <div class="flex items-start md:items-center justify-start gap-4">
                <!-- REPLAY Button - Hidden on mobile -->
                <button class="relative group hidden md:inline-block">
                    <a href="https://2stv.net/videos" class="flex items-center justify-center gap-2 px-4 py-1.5 text-white bg-transparent border-2 border-white rounded-full hover:bg-white/10 transition-colors">
                        <!-- Double arrow left icon -->
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4">
                            <path d="m11 17-5-5 5-5"></path>
                            <path d="m18 17-5-5 5-5"></path>
                        </svg>
                        <span class="font-bold text-sm">REPLAY</span>
                    </a>
                </button>
        
                <!-- RADIO Button -->
                <div class="flex flex-col items-center md:flex-row md:gap-2">
                    <a href="https://2stv.net/en-direct/originesfm-radio" class="flex items-center justify-center text-white bg-transparent border-2 border-white rounded-full hover:bg-white/10 transition-colors md:gap-2 md:px-4 md:py-1.5 w-10 h-10 md:w-auto md:h-auto">
                        <!-- Headphones icon -->
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4">
                            <path d="M3 14h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2z"></path>
                            <path d="M21 14h-2a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2z"></path>
                            <path d="M12 2a7 7 0 0 1 7 7v5h-4v-5a3 3 0 0 0-6 0v5H5V9a7 7 0 0 1 7-7z"></path>
                        </svg>
                        <span class="hidden md:inline font-bold text-sm">RADIO</span>
                    </a>
                    <span class="text-white font-bold text-xs mt-1 md:hidden">RADIO</span>
                </div>
        
                <!-- DIRECT Button -->
                <div class="flex flex-col items-center md:flex-row md:gap-2">
                    <a href="https://2stv.net/en-direct" class="flex items-center justify-center text-white bg-[#FF4500] border-2 border-[#FF4500] rounded-full hover:bg-[#FF5722] transition-colors md:gap-2 md:px-4 md:py-1.5 w-10 h-10 md:w-auto md:h-auto">
                        <!-- Monitor/TV icon -->
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4">
                            <rect width="18" height="13" x="3" y="6" rx="2"></rect>
                            <path d="m16 2-4 4-4-4"></path>
                            <path d="M12 12v7"></path>
                            <path d="M8 19h8"></path>
                        </svg>
                        <span class="hidden md:inline font-bold text-sm">DIRECT</span>
                    </a>
                    <span class="text-white font-bold text-xs mt-1 md:hidden">DIRECT</span>
                </div>
            </div>
        </div>

        <hr class="border-t border-white/5">

        <!-- Main Navigation -->
        <nav class="container mx-auto mt-2 hidden sm:flex justify-center">
            <div class="w-full">
                
            </div>
        </nav>
    </div>
</header>

<!-- Spacer conditionnel -->
            <div id="mobileMenu" class="fixed inset-y-0 left-0 w-3/4 max-w-xs bg-white z-50 p-5 hidden overflow-y-auto shadow-xl transform transition-transform duration-300 ease-in-out">
    <button id="closeButton" class="text-gray-600 hover:text-orange-500 transition-colors duration-200 mb-4">
        <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
        </svg>
    </button>

    <!-- Boutons Direct TV, Radio et Réservation -->
    <div class="flex flex-col gap-2 mb-6 mt-2">
        <div class="flex gap-2">
            <a href="https://2stv.net/en-direct" 
               class="flex-1 bg-red-600 text-white text-center py-2 px-4 rounded-lg text-sm font-semibold hover:bg-red-700 transition-colors duration-200 flex items-center justify-center gap-2">
                <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"></path>
                </svg>
                Direct TV
            </a>
            <a href="https://2stv.net/en-direct/originesfm-radio" 
               class="flex-1 border-2 border-gray-300 text-gray-700 text-center py-2 px-4 rounded-lg text-sm font-semibold hover:border-orange-500 hover:text-orange-500 transition-colors duration-200 flex items-center justify-center gap-2">
                <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"></path>
                </svg>
                Radio
            </a>
        </div>
        <a href="https://2stv.net/reservation-esplanade" 
           class="w-full bg-orange-100 text-orange-700 text-center py-2 px-4 rounded-lg text-sm font-semibold hover:bg-orange-200 transition-colors duration-200 flex items-center justify-center gap-2">
            <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
            </svg>
            Réserver l'esplanade
        </a>
    </div>

    <div class="mt-6">
        <ul class="space-y-0.5">
            <li>
                <a href="https://2stv.net/videos" 
                   class="flex items-center text-gray-600 hover:text-orange-500 group border-b border-gray-100 py-2.5 px-3 text-sm transition-all duration-200">
                    <span class="bg-orange-100 p-2 rounded-lg mr-3 group-hover:bg-orange-500 transition-colors duration-200">
                        <svg class="w-4 h-4 text-orange-500 group-hover:text-white transition-colors duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"></path>
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
                        </svg>
                    </span>
                    Vidéos
                </a>
            </li>
            <li>
                <a href="https://2stv.net/videos" 
                   class="flex items-center text-gray-600 hover:text-orange-500 group border-b border-gray-100 py-2.5 px-3 text-sm transition-all duration-200">
                    <span class="bg-orange-100 p-2 rounded-lg mr-3 group-hover:bg-orange-500 transition-colors duration-200">
                        <svg class="w-4 h-4 text-orange-500 group-hover:text-white transition-colors duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
                        </svg>
                    </span>
                    Émissions
                </a>
            </li>
             <!-- <li>
                <a href="https://2stv.net/galerie-photos" 
                   class="flex items-center text-gray-600 hover:text-orange-500 group border-b border-gray-100 py-2.5 px-3 text-sm transition-all duration-200">
                    <span class="bg-orange-100 p-2 rounded-lg mr-3 group-hover:bg-orange-500 transition-colors duration-200">
                        <svg class="w-4 h-4 text-orange-500 group-hover:text-white transition-colors duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
                        </svg>
                    </span>
                    Galerie Photos
                </a>
            </li>  -->
            <li>
                <a href="https://2stv.net/contactez-nous" 
                   class="flex items-center text-gray-600 hover:text-orange-500 group border-b border-gray-100 py-2.5 px-3 text-sm transition-all duration-200">
                    <span class="bg-orange-100 p-2 rounded-lg mr-3 group-hover:bg-orange-500 transition-colors duration-200">
                        <svg class="w-4 h-4 text-orange-500 group-hover:text-white transition-colors duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
                        </svg>
                    </span>
                    Contact
                </a>
            </li>
        </ul>
    </div>
</div>
        <main class="max-w-7xl mx-auto px-4 py-6 mb-8">
                        
            <!-- Hero Section -->
<div class="bg-black text-white w-screen relative left-1/2 right-1/2 -ml-[50vw] -mr-[50vw] -mt-20 md:-mt-24">
    <div class="relative h-[100vh] overflow-hidden hero-container">
        <!-- Background Video with Overlay -->
        <div class="absolute inset-0">
            <!-- Primary Video -->
            <div class="absolute inset-0">
                <video 
                    src="https://2stv.net/assets/videos/background.mp4" 
                    autoplay 
                    loop 
                    muted 
                    playsinline
                    preload="auto"
                    class="background-video video-quality-boost"
                    poster="https://2stv.net/assets/img/image.jpg"
                    aria-label="Vidéo d'arrière-plan 2STV">
                    <!-- Fallback pour les navigateurs qui ne supportent pas la vidéo HTML5 -->
                    <img src="https://2stv.net/assets/img/image.jpg" 
                         alt="2STV Arrière-plan" 
                         class="video-fallback">
                </video>
            </div>
            
            <!-- Overlay Gradients (renforcés pour petite vidéo) -->
            <div class="absolute inset-0 bg-gradient-to-t from-black/95 via-black/40 to-transparent"></div>
            <div class="absolute inset-0 bg-gradient-to-r from-black/40 via-transparent to-black/40"></div>
        </div>

        <!-- Content Container -->
        <div class="relative h-full flex flex-col justify-end px-4 pb-12">
            <!-- Bottom Content with Glass Effect -->
            <div class="max-w-7xl mx-auto w-full space-y-8 md:space-y-12 bg-black/30 rounded-xl p-6 md:p-8 shadow-lg shadow-black/20 hero-content">
                <!-- Program Info -->
                <div class="space-y-4">
                    <div class="flex flex-col gap-2">
                        <h2 class="text-3xl md:text-5xl font-bold text-white drop-shadow-md">Face to Face </h2>
                        <p class="text-xl md:text-2xl text-white/90 font-light">Sa Thies Vs Zarco</p>
                    </div>
                    <div class="flex flex-wrap items-center gap-4 md:gap-6 text-sm md:text-base text-white/80">
                        
                        <div class="flex items-center gap-2">
                            <i class="far fa-calendar"></i>
                            <span>26/04/2025</span>
                        </div>
                    </div>
                </div>

                <div class="flex flex-col md:flex-row items-start gap-6 md:gap-12">
                    <!-- Action Buttons -->
                    <div class="flex flex-col sm:flex-row items-stretch gap-4 w-full md:w-auto">
                        <a href="https://2stv.net/en-direct" 
                           class="group relative overflow-hidden rounded-xl bg-[#FF4500] px-8 py-4 flex-1 md:flex-none transition-transform hover:scale-105 shadow-lg shadow-black/20">
                            <div class="absolute inset-0 bg-gradient-to-r from-[#FF4500] to-[#FF5722] transition-transform group-hover:translate-x-full"></div>
                            <div class="relative flex items-center justify-center gap-3">
                                <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                                    <circle cx="12" cy="12" r="10" stroke-width="2"/>
                                    <path d="M10 8l6 4-6 4V8z" fill="currentColor"/>
                                </svg>
                                <span class="font-bold">Regarder maintenant</span>
                            </div>
                        </a>
                        <a href="https://2stv.net/videos" 
                           class="group relative overflow-hidden rounded-xl border-2 border-white/80 px-8 py-4 flex-1 md:flex-none transition-transform hover:scale-105 shadow-lg shadow-black/20">
                            <div class="absolute inset-0 bg-white/0 transition-colors group-hover:bg-white/10"></div>
                            <div class="relative flex items-center justify-center gap-3">
                                <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z" />
                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
                                </svg>
                                <span class="font-bold">Revoir nos émissions</span>
                            </div>
                        </a>
                    </div>

                    <!-- Next Program with Glass Effect -->
                    
                </div>
            </div>
        </div>
    </div>
</div>

<!-- Sujet à venir -->
<div class="max-w-7xl mx-auto px-4 mt-4 md:mt-8">
    <!-- Version mobile: liens empilés verticalement -->
    <div class="flex flex-col space-y-2 md:hidden">
        <a href="https://2stv.net/reservation-esplanade" 
           class="flex items-center justify-center px-4 py-2 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg">
            <i class="fas fa-calendar-check mr-2"></i>
            Réserver l'esplanade
        </a>
        <a href="https://whatsapp.com/channel/0029Va8oxJs1dAvzWNCtMD3U" target="_blank" 
           class="flex items-center justify-center px-4 py-2 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg">
            <i class="fab fa-whatsapp mr-2 text-green-600"></i>
            2STV sur WhatsApp
        </a>
        <a href="https://2stv.net/assets/files/grille-tarifaire.pdf" target="_blank" 
           class="flex items-center justify-center px-4 py-2 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg">
            <i class="fas fa-download mr-2"></i>
            Télécharger la grille tarifaire
        </a>
    </div>
    
    <!-- Version desktop: liens horizontaux -->
    <div class="hidden md:flex md:space-x-3 py-4">
        <a href="https://2stv.net/reservation-esplanade" 
           class="inline-flex items-center px-6 py-2.5 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg transform hover:scale-105">
            <i class="fas fa-calendar-check mr-2"></i>
            Réserver l'esplanade
        </a>
        <a href="https://whatsapp.com/channel/0029Va8oxJs1dAvzWNCtMD3U" target="_blank" 
           class="inline-flex items-center px-6 py-2.5 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg transform hover:scale-105">
            <i class="fab fa-whatsapp mr-2 text-green-600"></i>
            2STV sur WhatsApp
        </a>
        <a href="https://2stv.net/assets/files/grille-tarifaire.pdf" target="_blank" 
           class="inline-flex items-center px-6 py-2.5 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium text-gray-900 hover:bg-white transition-colors duration-200 shadow-lg transform hover:scale-105">
            <i class="fas fa-download mr-2"></i>
            Télécharger la grille tarifaire
        </a>
    </div>
</div>

<!-- Programme TV du jour -->
<div id="app" class="max-w-7xl mx-auto px-3 mt-4">
  <section class="bg-black rounded-xl overflow-hidden shadow-lg">
    <div class="relative">
      <div class="absolute inset-0 bg-black z-10"></div>
      <div class="relative z-20 p-3 flex justify-between items-center">
        <div class="flex items-center gap-4">
          <div class="flex items-center gap-2">
            <span class="animate-pulse">
              <i class="fas fa-circle text-red-500 text-xs"></i>
            </span>
            <span class="text-white text-sm font-medium">PROGRAMMES DU JOUR</span>
          </div>
          <div class="flex items-center gap-1 text-gray-300 text-xs">
            <i class="far fa-calendar-alt"></i>
            <span id="todayDate">26/04/2025</span>
          </div>
        </div>
        <div class="flex items-center gap-3">
          <span class="text-gray-300 text-xs" id="currentTime">20:17</span>
        </div>
      </div>
    </div>



    <!-- Contenu programmes TV -->
    <div class="relative px-3 pb-3">
      <div class="pt-2">
        <!-- Programme en cours -->
                <div class="bg-red-500/20 backdrop-blur-sm rounded-lg p-2 mb-2">
          <div class="flex justify-between items-center mb-1">
            <h3 class="text-xs font-medium text-white">
              <i class="fas fa-broadcast-tower mr-1"></i> EN DIRECT
            </h3>
            <span class="px-2 py-0.5 bg-red-500 text-white text-xs rounded-full animate-pulse">
              🔴 EN COURS
            </span>
          </div>
                    <div class="flex gap-2 mb-2">
            <div class="flex-shrink-0 w-12 h-12 bg-black/50 rounded-lg overflow-hidden">
                            <img src="https://2stv.net/storage/media/a483257a-68af-4972-b61f-d9ecf926c68e.png"
                   alt="Xibaar Yi "
                   class="w-full h-full object-cover">
                          </div>
            <div class="flex-1">
              <h4 class="text-white font-bold text-sm">Xibaar Yi </h4>
              <div class="flex items-center gap-2 text-xs text-gray-200">
                <span>19:00 - 13:30</span>
                <span class="text-gray-400">|</span>
                <span>Rédaction 2stv</span>
              </div>
            </div>
          </div>
                    <div class="flex gap-2 mb-2">
            <div class="flex-shrink-0 w-12 h-12 bg-black/50 rounded-lg overflow-hidden">
                            <img src="https://2stv.net/storage/media/f6073b6c-00da-4fa4-946b-399ccb5ca397.jpg"
                   alt="Sa Thiés Vs Zarco "
                   class="w-full h-full object-cover">
                          </div>
            <div class="flex-1">
              <h4 class="text-white font-bold text-sm">Sa Thiés Vs Zarco </h4>
              <div class="flex items-center gap-2 text-xs text-gray-200">
                <span>19:30 - 00:00</span>
                <span class="text-gray-400">|</span>
                <span>Face to Face </span>
              </div>
            </div>
          </div>
                    <div class="flex gap-2 mb-2">
            <div class="flex-shrink-0 w-12 h-12 bg-black/50 rounded-lg overflow-hidden">
                            <div class="w-full h-full flex items-center justify-center text-white">
                <i class="fas fa-tv text-xl"></i>
              </div>
                          </div>
            <div class="flex-1">
              <h4 class="text-white font-bold text-sm">Coulisse de la bal </h4>
              <div class="flex items-center gap-2 text-xs text-gray-200">
                <span>20:00 - 21:00</span>
                <span class="text-gray-400">|</span>
                <span>Fatima Sylla</span>
              </div>
            </div>
          </div>
                  </div>
        
        <!-- Programme à suivre -->
        
        <!-- Autres programmes -->
        <div class="bg-black/40 backdrop-blur-sm rounded-lg p-2 border border-gray-800">
          <div class="flex justify-between items-center cursor-pointer" onclick="toggleProgramList()">
            <h3 class="text-xs font-medium text-white">
              <i class="fas fa-list mr-1"></i> AUTRES PROGRAMMES DU JOUR
            </h3>
            <i id="programToggleIcon" class="fas fa-chevron-down text-white text-xs"></i>
          </div>

          <div id="programList" class="hidden mt-2">
            <div class="grid grid-cols-1 md:grid-cols-2 gap-2">
                            <div class="bg-black/60 rounded-lg p-1.5 flex items-center gap-2">
                <div class="flex-shrink-0 w-6 h-6 bg-black/70 rounded-lg overflow-hidden">
                                    <img src="https://2stv.net/storage/media/f5fd872a-92f1-4fb2-9a4a-056cdfd8b9fe.png"
                       alt="Lerlu"
                       class="w-full h-full object-cover">
                                  </div>
                <div class="flex-1">
                  <div class="text-xs text-white">Lerlu</div>
                  <div class="text-xs text-gray-400">
                    11:10 - 12:30
                  </div>
                </div>
              </div>
                            <div class="bg-black/60 rounded-lg p-1.5 flex items-center gap-2">
                <div class="flex-shrink-0 w-6 h-6 bg-black/70 rounded-lg overflow-hidden">
                                    <div class="w-full h-full flex items-center justify-center text-white">
                    <i class="fas fa-tv text-xs"></i>
                  </div>
                                  </div>
                <div class="flex-1">
                  <div class="text-xs text-white">Ngalu</div>
                  <div class="text-xs text-gray-400">
                    14:00 - 15:05
                  </div>
                </div>
              </div>
                            <div class="bg-black/60 rounded-lg p-1.5 flex items-center gap-2">
                <div class="flex-shrink-0 w-6 h-6 bg-black/70 rounded-lg overflow-hidden">
                                    <div class="w-full h-full flex items-center justify-center text-white">
                    <i class="fas fa-tv text-xs"></i>
                  </div>
                                  </div>
                <div class="flex-1">
                  <div class="text-xs text-white">Ar Yillo</div>
                  <div class="text-xs text-gray-400">
                    15:20 - 16:10
                  </div>
                </div>
              </div>
                            <div class="bg-black/60 rounded-lg p-1.5 flex items-center gap-2">
                <div class="flex-shrink-0 w-6 h-6 bg-black/70 rounded-lg overflow-hidden">
                                    <div class="w-full h-full flex items-center justify-center text-white">
                    <i class="fas fa-tv text-xs"></i>
                  </div>
                                  </div>
                <div class="flex-1">
                  <div class="text-xs text-white">Keur Gui</div>
                  <div class="text-xs text-gray-400">
                    16:30 - 17:20
                  </div>
                </div>
              </div>
                            <div class="bg-black/60 rounded-lg p-1.5 flex items-center gap-2">
                <div class="flex-shrink-0 w-6 h-6 bg-black/70 rounded-lg overflow-hidden">
                                    <img src="https://2stv.net/storage/media/6e9e098f-01dc-41ef-99aa-b955f6844e04.jpg"
                       alt="Asc Ville de Dakar Vs Us Monastir "
                       class="w-full h-full object-cover">
                                  </div>
                <div class="flex-1">
                  <div class="text-xs text-white">Asc Ville de Dakar Vs Us Monastir </div>
                  <div class="text-xs text-gray-400">
                    17:30 - 18:30
                  </div>
                </div>
              </div>
                          </div>
                      </div>
        </div>
      </div>
    </div>
  </section>
</div>

<script>
  function toggleProgramList() {
    const list = document.getElementById('programList');
    const icon = document.getElementById('programToggleIcon');
    list.classList.toggle('hidden');
    icon.classList.toggle('fa-chevron-down');
    icon.classList.toggle('fa-chevron-up');
  }
</script>


<script>
// Mise à jour de l'heure en temps réel
function updateTime() {
  const now = new Date();
  const hours = String(now.getHours()).padStart(2, '0');
  const minutes = String(now.getMinutes()).padStart(2, '0');
  document.getElementById('currentTime').textContent = `${hours}:${minutes}`;
}

// Fonction pour afficher/masquer la liste des programmes
function toggleProgramList() {
  const programList = document.getElementById('programList');
  const programToggleIcon = document.getElementById('programToggleIcon');
  
  if (programList.classList.contains('hidden')) {
    programList.classList.remove('hidden');
    programToggleIcon.classList.remove('fa-chevron-down');
    programToggleIcon.classList.add('fa-chevron-up');
  } else {
    programList.classList.add('hidden');
    programToggleIcon.classList.remove('fa-chevron-up');
    programToggleIcon.classList.add('fa-chevron-down');
  }
}

// Mettre à jour l'heure toutes les minutes
setInterval(updateTime, 60000);
updateTime(); // Initialisation
</script>

<!-- Grille de vidéos -->
<section class="mb-6 mt-6">
  <h1 class="text-2xl font-bold mb-8">Découvrez nos Émissions</h1>
  <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 gap-y-6">
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/role-des-pharmaciens-dans-le-suivi-des-maladies-non-transmissible" class="block relative">
              <img src="https://2stv.net/storage/media/3a0598ef-08e5-451c-839e-4e7bfc5a249c.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt=" Rôle des pharmaciens dans le suivi des maladies non transmissible" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                   Rôle des pharmaciens dans le suivi des maladies non transmissible
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/ndiap-zo-phenomene-de-la-danse-senegalaise-avec-ces-petites-astuces" class="block relative">
              <img src="https://2stv.net/storage/media/571558eb-827f-496e-9d33-bcfebbe45824.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt=" Ndiap Zo : Phénomène de la danse sénégalaise avec ces petites astuces " />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                   Ndiap Zo : Phénomène de la danse sénégalaise avec ces petites astuces 
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/matin-bonheur-avec-abdoulaye-maal-invite-alioune-kebe-pastefdg-cnfplf" class="block relative">
              <img src="https://2stv.net/storage/media/1a6c9b7c-24b3-4f97-bded-dca677114d77.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Matin Bonheur avec Abdoulaye Maal - Invité : Alioune Kébé (Pastef/DG CNFPLF)" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Matin Bonheur avec Abdoulaye Maal - Invité : Alioune Kébé (Pastef/DG CNFPLF)
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/djiby-seye-presente-une-compilation-des-videos-les-plus-droles-puis-analyse-le-fonds-force-covid" class="block relative">
              <img src="https://2stv.net/storage/media/97b187f3-f1e5-4dbc-8cd7-510c3e35219c.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Djiby séye présente une compilation des vidéos les plus drôles puis analyse le fonds force covid" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Djiby séye présente une compilation des vidéos les plus drôles puis analyse le fonds force covid
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/abdou-mbow-tacle-severement-sonko-nitt-dangay-civilise-moy-president-ndakh" class="block relative">
              <img src="https://2stv.net/storage/media/24f9fbbc-f761-4e47-b65b-ae129240a7ad.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Abdou Mbow Tacle Sévèrement Sonko: &amp;quot;Nitt Dangay Civilisé, Moy Président ndakh...&amp;quot;" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Abdou Mbow Tacle Sévèrement Sonko: &quot;Nitt Dangay Civilisé, Moy Président ndakh...&quot;
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/lat-dior-victime-de-ses-ennemis-ou-de-ses-allies" class="block relative">
              <img src="https://2stv.net/storage/media/31bdc300-2e09-4c39-a840-cfe543693719.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Lat Dior: victime de ses ennemis ou de ses alliés ?" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Lat Dior: victime de ses ennemis ou de ses alliés ?
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/diomaye-et-sonko-doivent-dialoguer-avec-macky-sall-lappel-de-alioune-tine-dafrikajom-center" class="block relative">
              <img src="https://2stv.net/storage/media/8d50625e-e7f7-4af1-b3e2-75ba56a2b93b.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="« Diomaye et Sonko doivent dialoguer avec Macky Sall » - L&amp;#039;appel de Alioune Tine d&amp;#039;Afrikajom Center" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  « Diomaye et Sonko doivent dialoguer avec Macky Sall » - L&#039;appel de Alioune Tine d&#039;Afrikajom Center
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/alioune-tine-sur-laffaire-macky-sall-on-risque-dentrer-dans-un-processus-demballement" class="block relative">
              <img src="https://2stv.net/storage/media/8d856312-398c-46d3-9824-556c6080550a.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Alioune Tine sur l&amp;#039;affaire Macky Sall : « On risque d&amp;#039;entrer dans un processus d&amp;#039;emballement… »" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Alioune Tine sur l&#039;affaire Macky Sall : « On risque d&#039;entrer dans un processus d&#039;emballement… »
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/lhistoire-dun-combat-le-senegal-vers-lindependance" class="block relative">
              <img src="https://2stv.net/storage/media/f5fd872a-92f1-4fb2-9a4a-056cdfd8b9fe.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="L’Histoire d’un Combat : Le Sénégal vers l’Indépendance" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  L’Histoire d’un Combat : Le Sénégal vers l’Indépendance
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/moussa-diakhate-le-veritable-adversaire-de-ousmane-sonko-nest-pas-lopposition-mais-la-v-a-r" class="block relative">
              <img src="https://2stv.net/storage/media/9ffb3612-b776-4842-9c32-5214978033fc.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Moussa Diakhaté : « Le véritable adversaire de Ousmane Sonko n&amp;#039;est pas l&amp;#039;opposition mais la V A R »" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Moussa Diakhaté : « Le véritable adversaire de Ousmane Sonko n&#039;est pas l&#039;opposition mais la V A R »
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/dip-3eme-au-world-ai-film-festival-avec-thiaroye-44-face-a-80-pays-after" class="block relative">
              <img src="https://2stv.net/storage/media/2c05ea67-094c-414d-a77e-03ed5cf0dd95.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="DIP, 3ème au World AI Film Festival avec &amp;quot;Thiaroye 44&amp;quot;, face à 80 pays — AFTER+" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  DIP, 3ème au World AI Film Festival avec &quot;Thiaroye 44&quot;, face à 80 pays — AFTER+
              </p>
               </div>
           </a>
      </div>
            <div class="hover-zoom relative transition-transform duration-300 transform hover:scale-105">
          <a href="https://2stv.net/videos/actus-net-deces-de-moustapha-diop-40-ans-wally-ballago-seck-juju-diongue-dit-tout" class="block relative">
              <img src="https://2stv.net/storage/media/bd97ac5c-c597-4a03-bfe3-11b721bad14d.png"
   class="w-full h-40 object-cover mb-2 rounded-lg shadow-lg transition-shadow duration-300 hover:shadow-2xl img-loading"
   loading="lazy"
   alt="Actus Net : décès de moustapha Diop, 40 ans Wally Ballago Seck… Juju Diongué Dit Tout !" />
               
               <!-- Overlay pour le titre -->
               <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                  Actus Net : décès de moustapha Diop, 40 ans Wally Ballago Seck… Juju Diongué Dit Tout !
              </p>
               </div>
           </a>
      </div>
        </div>
  <div class="mt-6 text-center">
      <a href="https://2stv.net/videos" class="inline-block font-bold py-2 px-4 rounded-lg  transition duration-300">
          Voir plus
      </a>
  </div>
</section>

<div class="max-w-7xl mx-auto px-4 mt-4 md:mt-8">
  <!-- Placeholder de publicité -->
<div class="rounded-xl shadow-lg overflow-hidden relative "
     style="background-color: #1F2937; width: 100%; height: 250px;">
    <!-- Contenu du bloc publicitaire par défaut -->
    <div class="flex flex-col items-center justify-center h-full p-6 text-white">
        <h2 class="text-xl md:text-2xl font-bold mb-2 text-center">Espace Publicitaire</h2>
        <p class="text-sm md:text-base mb-4 text-center max-w-2xl">Profitez d'une visibilité optimale pour votre marque</p>
        
        <!-- Bouton de réservation -->
        <a href="https://2stv.net/reserver-espace-publicitaire" 
           class="inline-flex items-center px-4 py-2 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium hover:bg-white transition-colors duration-200 shadow-lg transform hover:scale-105"
           style="color: #1F2937">
            <i class="fas fa-ad mr-2"></i>
            Réserver cet espace publicitaire
        </a>
    </div>
    
    <!-- Dimensions -->
    <div class="absolute top-2 right-2 text-white/70 text-xs">
        100% × 250px
    </div>
</div>
 </div>

  <!-- Section des émissions -->
<div class="max-w-7xl mx-auto px-4 mt-12 md:mt-16">
        <section class="mb-12">
        <div class="flex items-center justify-between mb-6">
            <h2 class="text-2xl md:text-3xl font-bold text-gray-900">Gala des étoiles</h2>
            <a href="https://2stv.net/videos" class="text-[#FF4500] hover:text-[#FF5722] font-medium text-sm">
                Voir tout
                <i class="fas fa-arrow-right ml-2"></i>
            </a>
        </div>
        
        <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 gap-y-8">
                        <div class="group relative">
                <a href="https://2stv.net/videos/ndeye-yaya-en-diva-strassee-pod-en-gentleman-chic-le-duo-star-du-gala-des-etoiles" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/61ffca40-8385-4978-927f-7e17e9e68293.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Ndèye Yaya en diva strassée, POD en gentleman chic : le duo star du Gala des Étoiles">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Ndèye yaya en diva strassée, pod en gentleman chic : le duo star du gala des étoiles
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                        <div class="group relative">
                <a href="https://2stv.net/videos/gala-des-etoiles-alice-eblouit-tous-les-regards-avec-son-entree-majestueuse" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/c5d9964b-e96f-4ecf-ba01-5ca8a59b08f4.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Gala des étoiles : Alice éblouit tous les regards avec son entrée majestueuse ">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Gala des étoiles : alice éblouit tous les regards avec son entrée majestueuse 
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                        <div class="group relative">
                <a href="https://2stv.net/videos/gala-des-etoiles-ngaka-blinde-et-fatel-quand-lamour-rime-avec-elegance-sur-le-tapis-rouge" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/de8466d8-9f83-4b78-8e25-cb91de051969.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Gala des Étoiles : Ngaka Blindé et Fatel, quand l&#039;Amour rime avec Élégance sur le tapis rouge">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Gala des étoiles : ngaka blindé et fatel, quand l&#039;amour rime avec élégance sur le tapis rouge
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                        <div class="group relative">
                <a href="https://2stv.net/videos/gala-des-etoiles-lentree-discrete-de-ndeye-a-sall-avec-les-actrices-de-coeur-brise-bijou-et-thiat" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/e6cead1b-c293-4508-8a77-11edc539f44d.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Gala des Étoiles : L&#039;entrée discrète de Ndéye A. Sall avec les actrices de Cœur Brisé Bijou et Thiat ">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Gala des étoiles : l&#039;entrée discrète de ndéye a. sall avec les actrices de cœur brisé bijou et thiat 
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                        <div class="group relative">
                <a href="https://2stv.net/videos/gala-des-etoiles-lentree-remarquee-de-ndakhte-lo-cherifa-aidara-et-sira-niang-sur-le-tapis-rouge" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/9193c192-b706-4678-a036-57df14b3721b.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Gala des Étoiles : L&#039;entrée remarquée de Ndakhté LO, Cherifa AIDARA et Sira Niang sur le tapis rouge">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Gala des étoiles : l&#039;entrée remarquée de ndakhté lo, cherifa aidara et sira niang sur le tapis rouge
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                        <div class="group relative">
                <a href="https://2stv.net/videos/gala-des-etoiles-le-couple-fallou-et-bb-binta-illumine-le-tapis-rouge-avec-style-et-elegance" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/61aae5a6-c439-4686-aebd-630fcf1b363d.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="Gala des étoiles : Le couple Fallou et BB Binta illumine le tapis rouge avec style et élégance">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            Gala des étoiles : le couple fallou et bb binta illumine le tapis rouge avec style et élégance
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                    </div>
    </section>
        <section class="mb-12">
        <div class="flex items-center justify-between mb-6">
            <h2 class="text-2xl md:text-3xl font-bold text-gray-900">Documentaire</h2>
            <a href="https://2stv.net/videos" class="text-[#FF4500] hover:text-[#FF5722] font-medium text-sm">
                Voir tout
                <i class="fas fa-arrow-right ml-2"></i>
            </a>
        </div>
        
        <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 gap-y-8">
                        <div class="group relative">
                <a href="https://2stv.net/videos/lhistoire-dun-combat-le-senegal-vers-lindependance" class="block relative rounded-xl overflow-hidden">
                    <!-- Thumbnail -->
                    <div class="aspect-video relative overflow-hidden">
                        <img src="https://2stv.net/storage/media/f5fd872a-92f1-4fb2-9a4a-056cdfd8b9fe.png"
                            class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"
                            loading="lazy"
                            alt="L’Histoire d’un Combat : Le Sénégal vers l’Indépendance">
                            
                        
                        <!-- Overlay -->
                        <div class="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors">
                            <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity">
                                <div class="bg-white/90 rounded-full p-3 transform scale-90 group-hover:scale-100 transition-transform">
                                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-[#FF4500]" fill="currentColor" viewBox="0 0 24 24">
                                        <path d="M8 5v14l11-7z"/>
                                    </svg>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Overlay avec titre -->
                        <div class="absolute inset-x-0 bottom-0 bg-black/70 backdrop-blur-sm p-2.5 rounded-b-lg">
                          <p class="text-white text-xs md:text-sm font-medium line-clamp-2 leading-tight">
                            L’histoire d’un combat : le sénégal vers l’indépendance
                        </p>
                        </div>


                        
                    </div>
                </a>
            </div>
                    </div>
    </section>
    </div>

<div class="max-w-7xl mx-auto px-4 mt-4 md:mt-8">
  <!-- Placeholder de publicité -->
<div class="rounded-xl shadow-lg overflow-hidden relative "
     style="background-color: #1F2937; width: 100%; height: 250px;">
    <!-- Contenu du bloc publicitaire par défaut -->
    <div class="flex flex-col items-center justify-center h-full p-6 text-white">
        <h2 class="text-xl md:text-2xl font-bold mb-2 text-center">Espace Publicitaire</h2>
        <p class="text-sm md:text-base mb-4 text-center max-w-2xl">Profitez d'une visibilité optimale pour votre marque</p>
        
        <!-- Bouton de réservation -->
        <a href="https://2stv.net/reserver-espace-publicitaire" 
           class="inline-flex items-center px-4 py-2 rounded-full border-2 border-white/80 bg-white/90 text-sm font-medium hover:bg-white transition-colors duration-200 shadow-lg transform hover:scale-105"
           style="color: #1F2937">
            <i class="fas fa-ad mr-2"></i>
            Réserver cet espace publicitaire
        </a>
    </div>
    
    <!-- Dimensions -->
    <div class="absolute top-2 right-2 text-white/70 text-xs">
        100% × 250px
    </div>
</div>
 </div>

        </main>

        <footer class="bg-gray-900 text-white relative">
    <!-- Ajout d'un fond semi-transparent pour améliorer la lisibilité -->
    <div class="absolute inset-0 bg-black/10"></div>
    
    <div class="max-w-screen-xl mx-auto px-4 py-8 relative z-10">
        <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
            <!-- Colonne 2STV -->
            <div>
                <h2 class="text-lg font-bold uppercase mb-4 text-white">2STV</h2>
                <ul class="space-y-2 text-sm">
                    <li><a href="https://2stv.net" class="text-gray-200 hover:text-white transition-colors duration-200">Accueil</a></li>
                    <li><a href="https://2stv.net/videos" class="text-gray-200 hover:text-white transition-colors duration-200">Vidéos</a></li>
                    <li><a href="https://2stv.net/en-direct" class="text-gray-200 hover:text-white transition-colors duration-200">TV en Direct</a></li>
                </ul>
            </div>

            <!-- Colonne Services -->
            <div>
                <h2 class="text-lg font-bold uppercase mb-4 text-white">Nos Services</h2>
                <ul class="space-y-2 text-sm">
                    <li><a href="https://2stv.net/reservation-esplanade" class="text-gray-200 hover:text-white transition-colors duration-200">Réservation Esplanade</a></li>
                    <li><a href="https://2stv.net/reserver-espace-publicitaire" class="text-gray-200 hover:text-white transition-colors duration-200">Espace Publicitaire</a></li>
                </ul>
            </div>

            <!-- Colonne Contact -->
            <div>
                <h2 class="text-lg font-bold uppercase mb-4 text-white">Contact</h2>
                <ul class="space-y-2 text-sm">
                    <li><a href="https://2stv.net/contactez-nous" class="text-gray-200 hover:text-white transition-colors duration-200">Nous contacter</a></li>
                    <li class="text-gray-300">commercial@2stv.net</li>
                    <li class="text-gray-300">+221 33 822 14 90</li>
                    <li class="text-gray-300">Dakar, Sénégal</li>
                </ul>
                <div class="mt-4 flex space-x-4">
                    <a href="https://www.facebook.com/2stvsenegal" target="_blank" class="text-gray-300 hover:text-white">
                        <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd"></path></svg>
                    </a>
                    <a href="https://x.com/2stvsenegal" target="_blank" class="text-gray-300 hover:text-white">
                        <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84"></path></svg>
                    </a>
                    <a href="https://www.youtube.com/@2stvsenegal" target="_blank" class="text-gray-300 hover:text-white">
                        <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z" clip-rule="evenodd"></path></svg>
                    </a>
                    <a href="https://www.instagram.com/2stv_senegal/" target="_blank" class="text-gray-300 hover:text-white">
                        <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd"></path></svg>
                    </a>
                </div>
            </div>
        </div>

        <div class="text-center text-xs mt-8 pt-6 border-t border-gray-800 text-white/90">
            © Copyright 2stv.net 2025. Tous droits réservés. Site édité par la 2s Digital
        </div>
    </div>
</footer>
        <script src="https://2stv.net/assets/js/app.js"></script>
<script src="https://vjs.zencdn.net/8.18.0/video.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-youtube/3.0.1/Youtube.min.js"></script>        <!-- Scripts existants -->

<script>
// Script pour mettre à jour l'heure en temps réel sur la page des programmes TV
document.addEventListener('DOMContentLoaded', function() {
    function updateCurrentTime() {
        const now = new Date();
        const hours = String(now.getHours()).padStart(2, '0');
        const minutes = String(now.getMinutes()).padStart(2, '0');
        const timeString = `${hours}:${minutes}`;
        
        // Mettre à jour l'heure affichée
        const currentTimeElement = document.getElementById('currentTime');
        if (currentTimeElement) {
            currentTimeElement.textContent = timeString;
        }
    }
    
    // Mettre à jour l'heure chaque minute
    updateCurrentTime();
    setInterval(updateCurrentTime, 60000);
    
    // Fonction pour rafraîchir les programmes TV via AJAX (toutes les 5 minutes)
    function refreshTvPrograms() {
        fetch('https://2stv.net/api/programmes-tv')
            .then(response => response.json())
            .then(data => {
                // On pourrait ici implémenter une mise à jour dynamique du DOM
                // Ce qui nécessiterait un template JavaScript ou une refonte partielle
                
                // Pour simplifier, on recharge la page si un changement est détecté
                // dans l'état des programmes (en cours/à suivre)
                if (data.some(program => program.status_changed)) {
                    window.location.reload();
                }
            })
            .catch(error => console.error('Erreur lors du chargement des programmes TV:', error));
    }
    
    // Rafraîchir les programmes TV toutes les 5 minutes
    setInterval(refreshTvPrograms, 300000); // 5 minutes
    
    // Gestion optimisée de la vidéo d'arrière-plan
    const backgroundVideo = document.querySelector('.background-video');
    
    if (backgroundVideo) {
        // Gérer les erreurs de chargement vidéo
        backgroundVideo.addEventListener('error', function() {
            console.warn('Erreur de chargement de la vidéo d\'arrière-plan, affichage de l\'image de secours');
            // La vidéo n'a pas pu être chargée, l'image poster s'affichera automatiquement
        });
        
        // Optimisation pour mobile - réduire la qualité ou mettre en pause selon les conditions
        const isMobile = window.innerWidth <= 768;
        const lowPowerMode = window.navigator.getBattery ? 
            window.navigator.getBattery().then(battery => battery.level < 0.3) : false;
        
        // Fonction pour vérifier et ajuster les performances vidéo
        const optimizeVideoForDevice = () => {
            // Pour les petites vidéos sur mobile, ajuster la qualité
            if (isMobile) {
                // Réduire la qualité sur les appareils à faible puissance/batterie
                if (lowPowerMode || ('connection' in navigator && navigator.connection.saveData)) {
                    backgroundVideo.pause();
                    console.info('Mode économie de données ou batterie faible détecté, vidéo mise en pause');
                } else {
                    // Vidéo de petite taille (560x540) : optimiser la mise à l'échelle
                    backgroundVideo.style.transform = 'scale(1.05)'; // Légère mise à l'échelle pour éviter les pixels visibles
                    backgroundVideo.play().catch(e => console.log('Autoplay impossible, attente interaction utilisateur'));
                }
            }
        };
        
        // Appliquer les optimisations au chargement
        optimizeVideoForDevice();
        
        // Vérifier si la vidéo est de petite taille et appliquer des optimisations supplémentaires
        backgroundVideo.addEventListener('loadedmetadata', function() {
            const isLowResVideo = backgroundVideo.videoWidth <= 600;
            
            if (isLowResVideo) {
                // Ajouter des effets pour améliorer la qualité perçue d'une vidéo basse résolution
                document.querySelector('.hero-container').classList.add('bg-black');
                
                // Ajouter un filtre subtil pour masquer les pixels visibles sur les grandes fenêtres
                if (window.innerWidth > 1200) {
                    backgroundVideo.style.filter = "blur(1px) brightness(1.05)";
                }
            }
        });
        
        // Pause de la vidéo quand elle n'est pas visible (économie batterie/ressources)
        document.addEventListener('visibilitychange', function() {
            if (document.hidden) {
                backgroundVideo.pause();
            } else {
                // Ne relancer la lecture que si ce n'est pas en mode économie d'énergie
                if (!lowPowerMode && !('connection' in navigator && navigator.connection.saveData)) {
                    backgroundVideo.play().catch(e => {});
                }
            }
        });
        
        // Adapter la vidéo au redimensionnement de la fenêtre
        window.addEventListener('resize', function() {
            const newIsMobile = window.innerWidth <= 768;
            
            // Si le statut mobile/desktop a changé, réoptimiser
            if (newIsMobile !== isMobile) {
                optimizeVideoForDevice();
            }
            
            // Pour les petites vidéos (560x540), ajuster le positionnement sur les grands écrans
            if (backgroundVideo.videoWidth <= 600 && window.innerWidth > 1200) {
                backgroundVideo.style.objectPosition = "center center";
                backgroundVideo.style.transform = "scale(1.2)"; // Légèrement agrandir
            } else {
                backgroundVideo.style.transform = "scale(1)";
            }
        });
        
        // Forcer l'autoplay même sur certains navigateurs mobiles restrictifs
        const attemptAutoplay = function() {
            backgroundVideo.play().catch(error => {
                console.info('Autoplay impossible, attente d\'une interaction utilisateur');
            });
        };
        
        // Tenter l'autoplay immédiatement
        attemptAutoplay();
        
        // Tenter l'autoplay après interaction utilisateur si nécessaire
        document.addEventListener('click', function() {
            if (backgroundVideo.paused) {
                attemptAutoplay();
            }
        }, { once: true });
    }
});
</script>
    </div>
</body>
</html>

Resolver

Resolver ASN
AS8346
Resolver IP
213.154.64.74
Resolver Network Name
SONATEL-AS Autonomous System
Report ID
20250426T201246Z_webconnectivity_SN_8346_n1_VY62YLhhuRaCIEJf
Platform
macos
Software Name
ooniprobe-desktop-unattended (3.17.5)
Measurement Engine
ooniprobe-engine (3.17.5)

Raw Measurement Data

Loading