Classi
$pdo = null; $conn_paths = [ $_SERVER['DOCUMENT_ROOT'] . '/connexion.php', dirname(__FILE__) . '/connexion.php', ]; foreach ($conn_paths as $p) { if (file_exists($p)) { @include_once $p; if (isset($pdo)) break; } } ob_end_clean(); // ── Paramètres ──────────────────────────────────────────────── $code = trim($_GET['code'] ?? ''); $nb_stat = trim($_GET['nb_stat'] ?? ''); $code = preg_replace('/[^a-zA-Z0-9_\-]/', '', $code); function isBot(): bool { $ua = strtolower($_SERVER['HTTP_USER_AGENT'] ?? ''); $bots = ['googlebot','bingbot','slurp','duckduckbot','baiduspider', 'yandexbot','facebookexternalhit','facebot','twitterbot', 'linkedinbot','whatsapp','telegrambot','discordbot','applebot', 'google-inspectiontool','screaming frog','ia_archiver']; foreach ($bots as $b) { if (str_contains($ua, $b)) return true; } return false; } // ── Récupérer données publication depuis l'API DB ───────────── $titre = 'Publication — Classi.tn'; $desc = 'Cours, devoirs et exercices sur Classi.tn, le réseau scolaire tunisien.'; $nomClasse = 'Classi.tn'; $codeClasse = ''; $image = 'https://classi.tn/assets/img/og-image.jpg'; $contenu = ''; $date = date('Y-m-d'); if ($pdo && $nb_stat) { // Chercher dans quelle table de classe se trouve cette publication try { $tables = $pdo->query(" SELECT DISTINCT codeClass FROM classmembre WHERE confidentialite = 0 AND codeClass != 'corbe' LIMIT 1000 ")->fetchAll(PDO::FETCH_COLUMN); foreach ($tables as $table) { $t = preg_replace('/[^a-zA-Z0-9_]/', '', $table); if (empty($t)) continue; if ($pdo->query("SHOW TABLES LIKE '$t'")->rowCount() === 0) continue; $stmt = $pdo->prepare(" SELECT titrepublication, txtstatut, DateIns, UrlPhotoStatut FROM `$t` WHERE idPublication = ? LIMIT 1 "); $stmt->execute([$nb_stat]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if ($row) { $titre = $row['titrepublication'] ?? $titre; $contenu = strip_tags(html_entity_decode($row['txtstatut'] ?? '')); $desc = mb_substr($contenu, 0, 200) ?: $desc; $date = date('Y-m-d', strtotime($row['DateIns'] ?? 'now')); if (!empty($row['UrlPhotoStatut'])) $image = 'https://classi.tn/' . $row['UrlPhotoStatut']; $codeClasse = $table; // Nom de la classe $sc = $pdo->prepare("SELECT NomClass FROM classmembre WHERE codeClass = ? LIMIT 1"); $sc->execute([$table]); $rc = $sc->fetch(PDO::FETCH_ASSOC); if ($rc) $nomClasse = $rc['NomClass']; break; } } } catch (Exception $e) {} } $url = 'https://classi.tn/publication.php?code=' . urlencode($code) . ($nb_stat ? '&nb_stat=' . urlencode($nb_stat) : ''); $canonical = 'https://classi.tn/publication.php?code=' . urlencode($code); // ── Redirect utilisateurs normaux → Flutter ─────────────────── if (!isBot()) { // Ajouter nb_stat + code → web_router.dart détecte nb_stat et ouvre la publication $redirect = '/index.html?nb_stat=' . urlencode($nb_stat) . '&code=' . urlencode($code); header('Location: ' . $redirect); exit; } $titre = htmlspecialchars($titre); $desc = htmlspecialchars($desc); $nomClasse = htmlspecialchars($nomClasse); $contenu = htmlspecialchars(mb_substr($contenu, 0, 500)); ?> conjonctions suivi du subjonctif — 9 ème-التاسعة أساسي — Classi.tn

← 9 ème-التاسعة أساسي

Publication

conjonctions suivi du subjonctif

9 ème-التاسعة أساسي · 02/03/2025

conjonctions suivi du subjonctif

Retour à Classi.tn — Le réseau scolaire tunisien