templates/fronts/labo_details.html.twig line 1
{% extends 'base_front.html.twig' %}
{% block title %}{{ labo.nomLong }}{% endblock %}
{% block body %}
<section id="ldc-lab" class="section bg-light">
<!-- En-tête avec image de fond -->
<div class="hero-section" style="background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('/front/images/background-details.avif'); background-size: cover; background-position: center;">
<div class="container py-5 text-center text-white">
<h1 class="display-4 fw-bold mb-3 text-white">{{ labo.nomLong }}</h1>
<p class="lead">{{ labo.nomCourt }}</p>
<div class="lab-badge bg-coral text-white d-inline-block px-4 py-2 rounded-pill">
<span class="me-2">{{ labo.type == 1 ? 'Unite': labo.type == 2 ? ' Laboratoire':'Unité de service commun'}}</span>
</div>
</div>
</div>
<!-- Contenu principal -->
<div class="container py-5">
<div class="row">
<!-- Colonne principale -->
<div class="col-lg-8">
<!-- À propos -->
<div class="card shadow-sm mb-4">
<div class="card-body">
<div class="d-flex align-items-center mb-4">
<div class="icon-box bg-coral text-white rounded-circle me-3">
<i class="fas fa-university"></i>
</div>
<h2 class="h4 mb-0">Présentation </h2>
</div>
<div class="lab-info mb-4">
{{ labo.description|raw }}
</div>
</div>
</div>
</div>
<!-- Colonne latérale -->
<div class="col-lg-4">
<!-- Galerie Slider -->
{% if labo.image1 or labo.image2 or labo.image3 %}
<div class="card shadow-sm mb-4">
<div class="card-body">
<h5 class="card-title text-center mb-4"><i class="fas fa-camera me-2"></i>Galerie</h5>
<div class="gallery-slider position-relative">
<!-- Slider principal -->
<div class="swiper main-slider">
<div class="swiper-wrapper">
{% if labo.image1 %}
<!-- Slide 1 -->
<div class="swiper-slide">
<a href="/upload/structures/{{ labo.image1 }}" data-lightbox="gallery">
<img src="/upload/structures/{{ labo.image1 }}" alt="{{ labo.nomCourt }}" class="img-fluid rounded">
<div class="slide-caption p-3">{{ labo.nomCourt }}</div>
</a>
</div>
{% endif %}
{% if labo.image2 %}
<!-- Slide 2 -->
<div class="swiper-slide">
<a href="/upload/structures/{{ labo.image2 }}" data-lightbox="gallery">
<img src="/upload/structures/{{ labo.image2 }}" alt="{{ labo.nomCourt }}" class="img-fluid rounded">
<div class="slide-caption p-3">{{ labo.nomCourt }}</div>
</a>
</div>
{% endif %}
{% if labo.image3 %}
<!-- Slide 3 -->
<div class="swiper-slide">
<a href="/upload/structures/{{ labo.image3 }}" data-lightbox="gallery">
<img src="/upload/structures/{{ labo.image3 }}" alt="{{ labo.nomCourt }}" class="img-fluid rounded">
<div class="slide-caption p-3">{{ labo.nomCourt }}</div>
</a>
</div>
{% endif %}
</div>
<!-- Pagination -->
<div class="swiper-pagination"></div>
<!-- Navigation -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
</div>
</div>
{% endif %}
<!-- Statistiques -->
<div class="card shadow-sm mb-4">
<div class="card-body">
<h5 class="card-title text-center mb-4"><i class="fas fa-chart-bar me-2"></i>Chiffres clés</h5>
{#<div class="stats-grid">
<a href="{{ path('app_chercheurs', {'idStructure': labo.id}) }}" class="stat-item text-center py-3">
<div class="stat-value display-5 fw-bold text-coral">{{ nbrChercheurs }}</div>
<div class="stat-label text-coral">Chercheurs</div>
</a>
<a href="#" class="stat-item text-center py-3">
<div class="stat-value display-5 fw-bold text-coral">{{ nbrPublications }}</div>
<div class="stat-label text-coral">Publications</div>
</a>
<a href="{{ path('app_projets', {'idStructure': labo.id}) }}" class="stat-item text-center py-3">
<div class="stat-value display-5 fw-bold text-coral">{{ nbrProjet }}</div>
<div class="stat-label text-coral">Projets</div>
</a>
</div>#}
<div class="stats-grid">
<!-- Chercheurs Block -->
<a href="{{ path('app_chercheurs', {'idStructure': labo.id}) }}" class="stat-item">
<div class="stat-content">
<div class="stat-value">{{ nbrChercheurs }}</div>
<div class="stat-label">Chercheurs</div>
</div>
<div class="stat-chiffre-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
</div>
</a>
<!-- Projets Block -->
<a href="{{ path('app_projets', {'idStructure': labo.id}) }}" class="stat-item">
<div class="stat-content">
<div class="stat-value">{{ nbrProjet }}</div>
<div class="stat-label">Projets</div>
</div>
<div class="stat-chiffre-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
<polyline points="2 17 12 22 22 17"></polyline>
<polyline points="2 12 12 17 22 12"></polyline>
</svg>
</div>
</a>
<!-- Publications Block -->
<a href="#" class="stat-item">
<div class="stat-content">
<div class="stat-value">{{ nbrPublications }}</div>
<div class="stat-label">Publications</div>
</div>
<div class="stat-chiffre-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10 9 9 9 8 9"></polyline>
</svg>
</div>
</a>
</div>
</div>
</div>
<!-- Contact -->
<div class="card shadow-sm mb-4">
<div class="card-body">
<h5 class="card-title text-center mb-4"><i class="fas fa-envelope me-2"></i>Contact</h5>
<ul class="contact-list list-unstyled">
<li class="mb-3">
<div class="d-flex">
<div class="contact-icon bg-light-coral text-coral rounded-circle me-3">
<i class="fas fa-university"></i>
</div>
<div>
<strong>{{ labo.etablissement.nomLong }}</strong>
</div>
</div>
</li>
<li class="mb-3">
<div class="d-flex">
<div class="contact-icon bg-light-coral text-coral rounded-circle me-3">
<i class="fas fa-globe"></i>
</div>
<div>
<a href="{{ labo.siteWeb }}" target="_blank">{{ labo.siteWeb }}</a>
</div>
</div>
</li>
<li class="mb-3">
<div class="d-flex">
<div class="contact-icon bg-light-coral text-coral rounded-circle me-3">
<i class="fas fa-at"></i>
</div>
<div>
<a href="mailto:{{ labo.email }}">{{ labo.email }}</a>
</div>
</div>
</li>
<li>
<div class="d-flex">
<div class="contact-icon bg-light-coral text-coral rounded-circle me-3">
<i class="fas fa-map-marker-alt"></i>
</div>
<div>{{ labo.adresse }}
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Initialisation du slider principal
const mainSlider = new Swiper('.main-slider', {
loop: true,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
pagination: {
el: '.swiper-pagination',
clickable: true,
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
// Synchronisation des sliders
mainSlider.controller.control = thumbnailSlider;
// Lightbox pour les images
lightbox.option({
'resizeDuration': 200,
'wrapAround': true,
'albumLabel': 'Image %1 sur %2'
});
});
</script>
{% endblock %}