2026-06-05 21:17:48 +02:00
<!DOCTYPE html>
< html lang = "fr" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "robots" content = "noindex, nofollow, noarchive, nosnippet" >
< meta name = "googlebot" content = "noindex, nofollow" >
< title > GSK | Règles de Sécurité</ title >
< link rel = "icon" href = "https://gsk.labbej27.fr/logo.jpeg" type = "image/jpeg" >
< link rel = "shortcut icon" href = "https://gsk.labbej27.fr/logo.jpeg" type = "image/jpeg" >
< style >
@ import url ( 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap' ) ;
: root {
--gsk-orange : #f36f21 ;
--gsk-dark : #1c2526 ;
}
* { margin : 0 ; padding : 0 ; box-sizing : border-box ; }
body {
font-family : 'Roboto' , sans-serif ;
background-color : #f8f9fa ;
color : #333 ;
line-height : 1.6 ;
}
header {
background : linear-gradient ( 135 deg , var ( -- gsk - dark ), #2a3a3d );
color : white ;
padding : 1 rem 0 ;
box-shadow : 0 4 px 12 px rgba ( 0 , 0 , 0 , 0.2 );
}
. header-content {
max-width : 1200 px ;
margin : 0 auto ;
display : flex ;
align-items : center ;
2026-06-11 19:35:47 +00:00
justify-content : center ;
2026-06-05 21:17:48 +02:00
padding : 0 2 rem ;
}
2026-06-11 19:35:47 +00:00
. logo {
cursor : pointer ;
}
2026-06-05 21:17:48 +02:00
. logo img {
2026-06-11 19:35:47 +00:00
height : 65 px ;
2026-06-05 21:17:48 +02:00
}
. lang-selector {
display : flex ;
2026-06-11 19:35:47 +00:00
justify-content : center ;
align-items : center ;
2026-06-05 21:17:48 +02:00
gap : 10 px ;
2026-06-11 19:35:47 +00:00
flex-wrap : wrap ;
2026-06-05 21:17:48 +02:00
}
. lang-btn {
background : rgba ( 255 , 255 , 255 , 0.1 );
color : white ;
border : 2 px solid var ( -- gsk - orange );
padding : 8 px 16 px ;
border-radius : 30 px ;
cursor : pointer ;
transition : all 0.3 s ;
font-weight : 500 ;
}
. lang-btn : hover , . lang-btn . active {
background : var ( -- gsk - orange );
transform : translateY ( -2 px );
}
. hero {
background : linear-gradient ( rgba ( 0 , 0 , 0 , 0.65 ), rgba ( 0 , 0 , 0 , 0.75 )), url ( 'https://picsum.photos/id/1015/2000/800' ) center / cover ;
height : 55 vh ;
display : flex ;
align-items : center ;
justify-content : center ;
text-align : center ;
color : white ;
}
. hero-content h1 {
font-size : 2.8 rem ;
color : var ( -- gsk - orange );
margin-bottom : 1 rem ;
}
. content {
max-width : 1200 px ;
margin : 3 rem auto ;
padding : 0 2 rem ;
display : none ;
}
. content . active { display : block ; }
. video-container {
margin : 2.5 rem auto ;
border-radius : 12 px ;
overflow : hidden ;
box-shadow : 0 10 px 30 px rgba ( 0 , 0 , 0 , 0.2 );
background : #000 ;
width : 100 % ;
max-width : 1100 px ;
}
. video-container video {
width : 100 % ;
height : auto ;
display : block ;
aspect-ratio : 16 / 9 ;
object-fit : contain ;
}
. safety-text {
background : white ;
padding : 3 rem ;
border-radius : 12 px ;
box-shadow : 0 5 px 20 px rgba ( 0 , 0 , 0 , 0.1 );
margin-top : 2 rem ;
}
. safety-text h2 {
color : var ( -- gsk - orange );
margin-bottom : 1.5 rem ;
font-size : 2 rem ;
}
ul { list-style : none ; margin : 1.5 rem 0 ; }
ul li {
padding : 12 px 0 ;
border-bottom : 1 px solid #eee ;
font-size : 1.1 rem ;
}
ul li : before {
content : "✓" ;
color : var ( -- gsk - orange );
margin-right : 12 px ;
font-weight : bold ;
}
. confirmation {
background : #f8f9fa ;
border : 3 px solid var ( -- gsk - orange );
padding : 2 rem ;
border-radius : 12 px ;
text-align : center ;
margin-top : 2.5 rem ;
font-size : 1.3 rem ;
}
. code {
2026-06-11 19:35:47 +00:00
font-size : 2.5 rem ;
2026-06-05 21:17:48 +02:00
font-weight : bold ;
color : var ( -- gsk - orange );
2026-06-11 19:35:47 +00:00
letter-spacing : 2 px ;
2026-06-05 21:17:48 +02:00
margin : 1 rem 0 ;
background : white ;
padding : 15 px ;
border-radius : 8 px ;
2026-06-11 19:35:47 +00:00
display : none ;
text-align : center ;
2026-06-11 19:29:12 +02:00
}
2026-06-11 19:35:47 +00:00
. accept-checkbox {
width : 24 px ;
height : 24 px ;
flex-shrink : 0 ;
margin-top : 3 px ;
}
2026-06-11 19:29:12 +02:00
. accept-label {
display : inline-flex ;
2026-06-11 19:35:47 +00:00
align-items : flex-start ;
2026-06-11 19:29:12 +02:00
gap : 10 px ;
font-size : 1.2 rem ;
2026-06-11 19:35:47 +00:00
margin-bottom : 1 rem ;
cursor : pointer ;
text-align : left ;
2026-06-05 21:17:48 +02:00
}
footer {
background : var ( -- gsk - dark );
color : #aaa ;
text-align : center ;
padding : 2.5 rem ;
margin-top : 4 rem ;
}
@ media ( max-width : 768px ) {
2026-06-11 19:35:47 +00:00
. header-content {
padding : 0 1 rem ;
}
. logo img {
height : 50 px ;
}
. hero {
height : auto ;
padding : 2 rem 1 rem ;
}
. hero-content h1 {
font-size : 2 rem ;
}
. hero-content p {
font-size : 1.15 rem !important ;
margin-bottom : 1.5 rem !important ;
}
. lang-selector {
flex-direction : column ;
align-items : stretch ;
width : 100 % ;
max-width : 350 px ;
margin : 0 auto ;
}
. lang-btn {
width : 100 % ;
font-size : 1.1 rem !important ;
padding : 14 px !important ;
}
. content {
padding : 0 1 rem ;
margin : 1.5 rem auto ;
}
. safety-text {
padding : 1.25 rem ;
}
. safety-text h2 {
font-size : 1.5 rem ;
}
ul li {
font-size : 1 rem ;
}
. confirmation {
padding : 1.25 rem ;
font-size : 1 rem ;
}
. code {
font-size : 1.8 rem ;
letter-spacing : 2 px ;
word-break : break-word ;
}
footer {
padding : 1.5 rem 1 rem ;
}
}
2026-06-05 21:17:48 +02:00
</ style >
</ head >
< body >
< header >
< div class = "header-content" >
< div class = "logo" >
< img src = "https://gsk.labbej27.fr/logo.jpeg" alt = "GSK Logo" >
</ div >
</ div >
</ header >
<!-- Accueil -->
< section id = "home" class = "hero" >
< div class = "hero-content" >
< h1 > Bienvenue chez GSK</ h1 >
< p style = "font-size: 1.5rem; margin-bottom: 2.5rem;" > Sélectionnez votre langue pour consulter les règles de sécurité</ p >
2026-06-11 19:35:47 +00:00
< div class = "lang-selector" >
< button class = "lang-btn" data-lang = "fr" onclick = "selectLanguage('fr')" >
🇫🇷 Français
</ button >
< button class = "lang-btn" data-lang = "en" onclick = "selectLanguage('en')" >
🇬🇧 English
</ button >
< button class = "lang-btn" data-lang = "es" onclick = "selectLanguage('es')" >
🇪🇸 Español
</ button >
</ div >
2026-06-05 21:17:48 +02:00
</ div >
</ section >
<!-- Français -->
2026-06-11 19:35:47 +00:00
< div id = "content-fr" class = "content" >
2026-06-05 21:17:48 +02:00
< div style = "text-align:center; margin-bottom: 2rem;" >
< h1 style = "color:#f36f21;" > Règles de sûreté à l’ intention des visiteurs</ h1 >
</ div >
< div class = "video-container" >
2026-06-11 19:35:47 +00:00
< video controls playsinline >
2026-06-05 21:17:48 +02:00
< source src = "https://gsk.labbej27.fr/video-securite.mp4" type = "video/mp4" >
Votre navigateur ne supporte pas la lecture vidéo.
</ video >
</ div >
< div class = "safety-text" >
< ul >
< li > Lire attentivement les consignes de sécurité, les compléter et les conserver sur soi en cas de contrôle.</ li >
< li > Porter le badge de manière visible autour du cou.</ li >
< li > Badger individuellement, même si quelqu’ un vous tient la porte.</ li >
< li > Seuls les véhicules transportant du matériel sont autorisés à entrer et à se stationner à l’ intérieur du site, munis d’ une autorisation.</ li >
< li > Limitation de vitesse à 20 km/h.</ li >
< li > Stationner dans le sens du départ.</ li >
< li > Restituer le badge à l’ accueil visiteurs ou dans la boîte aux lettres en quittant le site après 18 h.</ li >
</ ul >
< div class = "confirmation" >
2026-06-11 19:29:12 +02:00
< label class = "accept-label" >
< input type = "checkbox" class = "accept-checkbox" >
< strong > En cliquant ici, « vous reconnaissez avoir lu et compris » les règles de sûreté, et vous vous engagez à les appliquer.</ strong >
</ label >
< br >< br >
2026-06-05 21:17:48 +02:00
Communiquez ce code à l’ hôtesse d’ accueil :< br >
2026-06-11 19:29:12 +02:00
< div class = "code" id = "code-fr" > GSK-SEC-FR-XXXXXX</ div >
2026-06-05 21:17:48 +02:00
</ div >
</ div >
</ div >
<!-- English -->
< div id = "content-en" class = "content" >
< div style = "text-align:center; margin-bottom: 2rem;" >
< h1 style = "color:#f36f21;" > Safety Rules for Visitors</ h1 >
</ div >
< div class = "video-container" >
2026-06-11 19:35:47 +00:00
< video controls playsinline >
2026-06-05 21:17:48 +02:00
< source src = "https://gsk.labbej27.fr/video-securiteen.mp4" type = "video/mp4" >
Your browser does not support video playback.
</ video >
</ div >
< div class = "safety-text" >
< ul >
< li > Please read the safety instructions carefully, complete them, and keep them with you at all times in case of inspection.</ li >
2026-06-11 19:29:12 +02:00
< li > Your badge must be worn visibly around the neck at all times.</ li >
2026-06-05 21:17:48 +02:00
< li > You must badge in individually, even if someone holds the door for you.</ li >
< li > Only vehicles carrying equipment are permitted to enter and park on site, and must have a valid authorization.</ li >
< li > Speed limit: 20 km/h.</ li >
< li > Vehicles must be parked facing the exit.</ li >
< li > Please return your badge to the reception desk or place it in the mailbox when leaving the site after 6 p.m.</ li >
</ ul >
< div class = "confirmation" >
2026-06-11 19:29:12 +02:00
< label class = "accept-label" >
< input type = "checkbox" class = "accept-checkbox" >
< strong > By clicking here, you acknowledge that you have read and understood the safety rules, and you agree to comply with them.</ strong >
</ label >
< br >< br >
2026-06-05 21:17:48 +02:00
Give this code to the receptionist:< br >
2026-06-11 19:29:12 +02:00
< div class = "code" id = "code-en" > GSK-SEC-EN-XXXXXX</ div >
2026-06-05 21:17:48 +02:00
</ div >
</ div >
</ div >
<!-- Español -->
< div id = "content-es" class = "content" >
< div style = "text-align:center; margin-bottom: 2rem;" >
< h1 style = "color:#f36f21;" > Normas de seguridad para visitantes</ h1 >
</ div >
< div class = "video-container" >
2026-06-11 19:35:47 +00:00
< video controls playsinline >
2026-06-05 21:17:48 +02:00
< source src = "https://gsk.labbej27.fr/video-securitees.mp4" type = "video/mp4" >
Tu navegador no admite la reproducción de vídeo.
</ video >
</ div >
< div class = "safety-text" >
< ul >
< li > Lea atentamente las instrucciones de seguridad, complételas y consérvelas consigo en caso de control.</ li >
< li > La credencial debe llevarse visible alrededor del cuello en todo momento.</ li >
< li > Debe registrar su entrada de forma individual, incluso si alguien le abre la puerta.</ li >
< li > Solo los vehículos que transportan material están autorizados a acceder y estacionarse dentro del recinto, y deben contar con una autorización válida.</ li >
< li > Límite de velocidad: 20 km/h.</ li >
< li > Los vehículos deben estacionarse en el sentido de la salida.</ li >
< li > Devuelva la credencial en la recepción o deposítela en el buzón al salir del sitio después de las 18 h.</ li >
</ ul >
< div class = "confirmation" >
2026-06-11 19:29:12 +02:00
< label class = "accept-label" >
< input type = "checkbox" class = "accept-checkbox" >
< strong > Haciendo clic aquí, usted reconoce haber leído y comprendido las normas de seguridad, y se compromete a cumplirlas.</ strong >
</ label >
< br >< br >
2026-06-05 21:17:48 +02:00
Entregue este código a la recepcionista:< br >
2026-06-11 19:29:12 +02:00
< div class = "code" id = "code-es" > GSK-SEC-ES-XXXXXX</ div >
2026-06-05 21:17:48 +02:00
</ div >
</ div >
</ div >
2026-06-11 19:29:12 +02:00
< footer >
2026-06-05 21:17:48 +02:00
< p > © 2026 GSK plc — Règles de Sécurité Visiteurs</ p >
2026-06-05 21:58:42 +02:00
< p style = "margin-top: 8px; font-size: 0.95rem;" > Développé par LABBEJ27 pour Fiducial Évreux</ p >
< p style = "margin-top: 15px; font-size: 0.85rem; opacity: 0.75;" >
Code source disponible sur :
< a href = "https://labbej27.duckdns.org/labbej/gsk-securite-visiteurs"
target = "_blank"
style = "color: #f36f21;" >
Gitea — gsk-securite-visiteurs
</ a >
</ p >
2026-06-05 21:17:48 +02:00
</ footer >
< script >
2026-06-11 19:29:12 +02:00
// Génère le code avec le mois en cours (ex: 062026)
function getCurrentCode ( lang ) {
const now = new Date ();
const month = String ( now . getMonth () + 1 ). padStart ( 2 , '0' );
const year = now . getFullYear ();
return `GSK-SEC- ${ lang . toUpperCase () } - ${ month }${ year } ` ;
}
// Met à jour tous les codes
function updateCodes () {
document . getElementById ( 'code-fr' ). textContent = getCurrentCode ( 'fr' );
document . getElementById ( 'code-en' ). textContent = getCurrentCode ( 'en' );
document . getElementById ( 'code-es' ). textContent = getCurrentCode ( 'es' );
}
2026-06-05 21:17:48 +02:00
function selectLanguage ( lang ) {
2026-06-11 19:29:12 +02:00
2026-06-11 19:35:47 +00:00
stopAllVideos ();
document . querySelectorAll ( '.content' ). forEach ( c =>
c . classList . remove ( 'active' )
);
document . getElementById ( `content- ${ lang } ` )
. classList . add ( 'active' );
document . querySelectorAll ( '.lang-btn' ). forEach ( btn => {
btn . classList . toggle (
'active' ,
btn . getAttribute ( 'data-lang' ) === lang
);
});
const activeVideo =
document . querySelector ( `#content- ${ lang } video` );
if ( activeVideo ) {
activeVideo . play ();
}
setTimeout (() => {
document . getElementById ( `content- ${ lang } ` )
. scrollIntoView ({ behavior : 'smooth' });
}, 150 );
}
// Arrête toutes les vidéos lors du changement de langue
function stopAllVideos () {
document . querySelectorAll ( 'video' ). forEach ( video => {
video . pause ();
video . currentTime = 0 ;
});
}
2026-06-11 19:29:12 +02:00
// Gestion des cases à cocher
function setupCheckboxes () {
document . querySelectorAll ( '.accept-checkbox' ). forEach ( checkbox => {
const codeDiv = checkbox . closest ( '.confirmation' ). querySelector ( '.code' );
checkbox . addEventListener ( 'change' , function () {
2026-06-11 19:35:47 +00:00
if ( this . checked ) {
codeDiv . style . display = 'inline-block' ;
setTimeout (() => {
codeDiv . scrollIntoView ({
behavior : 'smooth' ,
block : 'center'
});
}, 100 );
} else {
codeDiv . style . display = 'none' ;
}
});
2026-06-11 19:29:12 +02:00
});
}
// Initialisation
window . onload = function () {
updateCodes ();
setupCheckboxes ();
// Retour à l'accueil en cliquant sur le logo
document . querySelector ( '.logo' ). addEventListener ( 'click' , () => {
document . getElementById ( 'home' ). scrollIntoView ({ behavior : 'smooth' });
});
};
2026-06-05 21:17:48 +02:00
</ script >
</ body >
</ html >