getAvailableYears(); if ($year) { $itemsToLoad = $db->searchTheses(['year' => $year], $itemsPerPage, $offset); $totalItems = $db->countSearchResults(['year' => $year]); } elseif ($isDefaultView) { $latestYear = $db->getLatestPublishedYear(); $itemsToLoad = $db->getLatestYearTheses($itemsPerPage); $totalItems = count($itemsToLoad); // no pagination on default view } else { $itemsToLoad = $db->getPublishedTheses($itemsPerPage, $offset); $totalItems = $db->countPublishedTheses(); } $totalPages = $isDefaultView ? 1 : (int)ceil($totalItems / $itemsPerPage); // Batch-load cover images for theses that have no banner_path $coverMap = []; if (!empty($itemsToLoad)) { $needCover = array_column( array_filter($itemsToLoad, fn($t) => empty($t['banner_path'])), 'id' ); $coverMap = $db->getCoverPathsForTheses($needCover); } } catch (Exception $e) { error_log("Error loading theses: " . $e->getMessage()); $itemsToLoad = []; $totalPages = 0; $availableYears = []; $totalItems = 0; $latestYear = null; $isDefaultView = false; $coverMap = []; } $currentNav = ''; $pageTitle = 'Posterg – Mémoires de l\'ERG'; $metaDescription = 'Posterg répertorie et valorise les mémoires de fin d\'études (TFE) de l\'erg – École de Recherches Graphiques de Bruxelles.'; $extraCss = ['assets/main.css']; ?>
Année : ✕ Réinitialiser
Découvrez les TFE de — sélection aléatoire
" class="card-link">
<?= htmlspecialchars($item['title']) ?>

Aucun mémoire trouvé.

1): ?>
aria-label="Première page">« aria-label="Page précédente">‹ / = $totalPages ? 'aria-disabled="true" tabindex="-1"' : '' ?> aria-label="Page suivante">› = $totalPages ? 'aria-disabled="true" tabindex="-1"' : '' ?> aria-label="Dernière page">»