sqze
This commit is contained in:
parent
dd7f8a7efb
commit
fc118dd1e4
|
|
@ -2,157 +2,41 @@
|
|||
INTER SANTÉ — LOGIN UI (ONLY)
|
||||
============================================================ */
|
||||
|
||||
:root {
|
||||
--login-blue: #0088cf;
|
||||
--login-radius: 9px;
|
||||
}
|
||||
/* --- CONFIGURATION GLOBALE --- */
|
||||
html, body { height: 100%; margin: 0; overflow: hidden; font-family: 'Inter', sans-serif; background: #f4f7f6; }
|
||||
|
||||
body, html {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
overflow: hidden; /* Empêche le scroll */
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
}
|
||||
.auth-wrapper { display: flex; height: 100vh; width: 100vw; }
|
||||
|
||||
.login-wrapper {
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
}
|
||||
/* --- SLIDESHOW (GAUCHE) --- */
|
||||
.auth-visual { flex: 1.4; position: relative; background: #212529; overflow: hidden; }
|
||||
.slide-container { width: 100%; height: 100%; position: relative; }
|
||||
.slides img { width: 100%; height: 100%; object-fit: cover; position: absolute; opacity: 0; transition: opacity 0.8s ease-in-out; }
|
||||
.slides img.active { opacity: 1; position: relative; }
|
||||
|
||||
/* --- Section Gauche (Carrousel) --- */
|
||||
.slide-container {
|
||||
width: 40vw;
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
background-color: #000;
|
||||
}
|
||||
.buttons span { position: absolute; top: 50%; transform: translateY(-50%); color: white; cursor: pointer; z-index: 10; padding: 20px; font-size: 24px; opacity: 0.5; transition: 0.3s; }
|
||||
.buttons span:hover { opacity: 1; }
|
||||
.next { right: 10px; } .prev { left: 10px; }
|
||||
|
||||
.slides img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
object-fit: cover;
|
||||
opacity: 0;
|
||||
transition: opacity 0.8s ease-in-out;
|
||||
}
|
||||
.dotsContainer { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; z-index: 10; }
|
||||
.dot { width: 10px; height: 10px; border: 2px solid white; border-radius: 50%; cursor: pointer; }
|
||||
.dot.active { background: white; }
|
||||
|
||||
.slides img.active { opacity: 1; }
|
||||
/* --- FORMULAIRE (DROITE) --- */
|
||||
.auth-content { flex: 1; background: white; display: flex; align-items: center; justify-content: center; padding: 40px; }
|
||||
.auth-card { width: 100%; max-width: 400px; }
|
||||
.auth-logo { max-height: 70px; margin-bottom: 20px; }
|
||||
.auth-title { font-size: 1.25rem; font-weight: 700; color: #333; margin-bottom: 30px; text-transform: uppercase; letter-spacing: 1px; }
|
||||
|
||||
.nav-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
padding: 14px;
|
||||
background-color: var(--login-blue);
|
||||
opacity: 0.2;
|
||||
color: #fff;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
z-index: 10;
|
||||
transition: 0.5s;
|
||||
border-radius: 3px;
|
||||
}
|
||||
/* --- COMPOSANTS ERP --- */
|
||||
.lbl-erp { font-size: 11px; font-weight: 700; color: #6c757d; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px; display: block; }
|
||||
.group-erp { border: 1px solid #dee2e6; border-radius: 6px; overflow: hidden; transition: 0.2s; }
|
||||
.group-erp:focus-within { border-color: #212529; box-shadow: 0 0 0 3px rgba(33, 37, 41, 0.05); }
|
||||
.group-erp .input-group-text { background: transparent; border: none; color: #adb5bd; padding-left: 15px; }
|
||||
.group-erp .form-control { border: none; padding: 12px; font-size: 14px; font-weight: 500; }
|
||||
.group-erp .form-control:focus { box-shadow: none; background: #fcfcfc; }
|
||||
|
||||
.nav-btn:hover { opacity: 0.8; }
|
||||
.prev { left: 20px; }
|
||||
.next { right: 20px; }
|
||||
.forgot-link { font-size: 11px; font-weight: 600; color: #6c757d; text-decoration: none; }
|
||||
.forgot-link:hover { color: #212529; }
|
||||
|
||||
.dotsContainer {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.dot {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 0 2px;
|
||||
border: 3px solid #bbb;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
transition: 0.6s;
|
||||
}
|
||||
|
||||
.dot.active { background-color: #555; }
|
||||
|
||||
/* --- Section Droite (Formulaire) --- */
|
||||
.content-side {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.portal-logo {
|
||||
width: 120px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.login100-form-title {
|
||||
color: var(--login-blue);
|
||||
font-family: 'Syne', sans-serif;
|
||||
font-weight: 700;
|
||||
font-size: 28px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
/* Inputs & Labels */
|
||||
.form-group-login {
|
||||
margin-bottom: 15px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.form-group-login label {
|
||||
display: block;
|
||||
font-size: 12pt;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.input-login {
|
||||
width: 300px !important;
|
||||
height: 42px;
|
||||
border: 2px solid var(--login-blue) !important;
|
||||
border-radius: var(--login-radius) !important;
|
||||
color: var(--login-blue) !important;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.input-login::placeholder { color: var(--login-blue); opacity: 0.6; }
|
||||
|
||||
.login-btn {
|
||||
width: 300px;
|
||||
height: 45px;
|
||||
background: var(--login-blue);
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
border: none;
|
||||
border-radius: var(--login-radius);
|
||||
transition: 0.3s;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.login-btn:hover {
|
||||
background: white;
|
||||
color: var(--login-blue);
|
||||
border: 2px solid var(--login-blue);
|
||||
}
|
||||
|
||||
.footer-version {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
font-size: 10pt;
|
||||
color: #6c757d;
|
||||
}
|
||||
|
||||
/* --- Responsive --- */
|
||||
@media (max-width: 992px) {
|
||||
.slide-container { display: none; }
|
||||
}
|
||||
.auth-footer { margin-top: 50px; font-size: 12px; color: #adb5bd; }
|
||||
.auth-footer strong { color: #6c757d; }
|
||||
|
|
@ -1,36 +1,58 @@
|
|||
<?php
|
||||
if (!defined('APP_VERSION')) define('APP_VERSION', date('YmdHi'));
|
||||
$maintenance = $societeusersaas['maintenance'];
|
||||
if($maintenance == '1') {
|
||||
$msgErreur = 'Site en maintenance, veuillez vous reconnecter plus tard !';
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="login100-form-title">Manager Portal</div>
|
||||
<h2 class="auth-title text-center">Manager Portal</h2>
|
||||
|
||||
<?php if (isset($msgErreur) && $msgErreur > " "): ?>
|
||||
<div class="alert alert-danger w-100" style="max-width:300px; margin: 0 auto 15px;"><?= $msgErreur ?></div>
|
||||
<?php if (isset($msgErreur) && $msgErreur > ""): ?>
|
||||
<div class="alert alert-danger shadow-sm border-0 small text-center">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i><?= $msgErreur ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="div_msgErreur"></div>
|
||||
|
||||
<?php if($maintenance != '1'): ?>
|
||||
<div class="form-group-login">
|
||||
<label for="langue">Language</label>
|
||||
<select class="form-control input-login mx-auto" id="langue" name="langue" onchange="changer_langue_connexion();">
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Language</label>
|
||||
<select class="form-select input-erp" id="langue" name="langue" onchange="changer_langue_connexion();">
|
||||
<?php liste_options($langues, $_SESSION['lang'], true); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="codeSociete">Entity</label>
|
||||
<input class="form-control input-login mx-auto" type="text" name="codeSociete" id="codeSociete" value="<?= $codeSociete ?>" placeholder="Entity" required onchange="changer_entite_portail();">
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Entity</label>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-building"></i></span>
|
||||
<input class="form-control" type="text" name="codeSociete" id="codeSociete"
|
||||
value="<?= $codeSociete ?>" required onchange="changer_entite_portail();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="login">Login</label>
|
||||
<input class="form-control input-login mx-auto" type="text" name="login" id="login" value="<?= $codeUtilisateur ?>" placeholder="Login" required>
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Login</label>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-user"></i></span>
|
||||
<input class="form-control" type="text" name="login" id="login"
|
||||
value="<?= $codeUtilisateur ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="mdp">Password</label>
|
||||
<input class="form-control input-login mx-auto" type="password" name="mdp" id="mdp" placeholder="Password" required>
|
||||
<div class="mb-3">
|
||||
<div class="d-flex justify-content-between">
|
||||
<label class="lbl-erp">Password</label>
|
||||
<a href="MotDePasseOublie" class="forgot-link">Forgot ?</a>
|
||||
</div>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-lock"></i></span>
|
||||
<input class="form-control" type="password" name="mdp" id="mdp" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="login-btn">Login</button>
|
||||
<button name="btn_connexion" id="btn_connexion" class="btn btn-dark w-100 fw-bold text-uppercase py-2 mt-2">
|
||||
Login
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
|
|
@ -1,36 +1,58 @@
|
|||
<?php
|
||||
if (!defined('APP_VERSION')) define('APP_VERSION', date('YmdHi'));
|
||||
$maintenance = $societeusersaas['maintenance'];
|
||||
if($maintenance == '1') {
|
||||
$msgErreur = 'Site en maintenance, veuillez vous reconnecter plus tard !';
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="login100-form-title">Portail Gestionnaire</div>
|
||||
<h2 class="auth-title text-center">Portail Gestionnaire</h2>
|
||||
|
||||
<?php if (isset($msgErreur) && $msgErreur > " "): ?>
|
||||
<div class="alert alert-danger w-100" style="max-width:300px; margin: 0 auto 15px;"><?= $msgErreur ?></div>
|
||||
<?php if (isset($msgErreur) && $msgErreur > ""): ?>
|
||||
<div class="alert alert-danger shadow-sm border-0 small text-center">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i><?= $msgErreur ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="div_msgErreur"></div>
|
||||
|
||||
<?php if($maintenance != '1'): ?>
|
||||
<div class="form-group-login">
|
||||
<label for="langue">Langue</label>
|
||||
<select class="form-control input-login mx-auto" id="langue" name="langue" onchange="changer_langue_connexion();">
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Langue</label>
|
||||
<select class="form-select input-erp" id="langue" name="langue" onchange="changer_langue_connexion();">
|
||||
<?php liste_options($langues, $_SESSION['lang'], true); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="codeSociete">Entité</label>
|
||||
<input class="form-control input-login mx-auto" type="text" name="codeSociete" id="codeSociete" value="<?= $codeSociete ?>" placeholder="Entité" required onchange="changer_entite_portail();">
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Entité</label>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-building"></i></span>
|
||||
<input class="form-control" type="text" name="codeSociete" id="codeSociete"
|
||||
value="<?= $codeSociete ?>" required onchange="changer_entite_portail();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="login">Identifiant</label>
|
||||
<input class="form-control input-login mx-auto" type="text" name="login" id="login" value="<?= $codeUtilisateur ?>" placeholder="Identifiant" required>
|
||||
<div class="mb-3">
|
||||
<label class="lbl-erp">Identifiant</label>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-user"></i></span>
|
||||
<input class="form-control" type="text" name="login" id="login"
|
||||
value="<?= $codeUtilisateur ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group-login">
|
||||
<label for="mdp">Mot de passe</label>
|
||||
<input class="form-control input-login mx-auto" type="password" name="mdp" id="mdp" placeholder="Mot de passe" required>
|
||||
<div class="mb-3">
|
||||
<div class="d-flex justify-content-between">
|
||||
<label class="lbl-erp">Mot de passe</label>
|
||||
<a href="MotDePasseOublie" class="forgot-link">Oublié ?</a>
|
||||
</div>
|
||||
<div class="input-group group-erp">
|
||||
<span class="input-group-text"><i class="fas fa-lock"></i></span>
|
||||
<input class="form-control" type="password" name="mdp" id="mdp" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="login-btn">Connexion</button>
|
||||
<button name="btn_connexion" id="btn_connexion" class="btn btn-dark w-100 fw-bold text-uppercase py-2 mt-2">
|
||||
Connexion
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
|
|
@ -1,20 +1,14 @@
|
|||
<div id="div_detail_connexion" class="login-form-container">
|
||||
<div id="div_detail_connexion">
|
||||
<?php
|
||||
if (isset($_COOKIE['codeUtilisateur']) && isset($_COOKIE['codeSociete'])) {
|
||||
$codeUtilisateur = $_COOKIE['codeUtilisateur'];
|
||||
$codeSociete = $_COOKIE['codeSociete'];
|
||||
} else {
|
||||
$codeUtilisateur = "";
|
||||
$codeSociete = "";
|
||||
}
|
||||
$societeExiste = true;
|
||||
// RÉCUPÉRATION DES COOKIES (IDENTIFIANTS MÉMORISÉS)
|
||||
$codeUtilisateur = isset($_COOKIE['codeUtilisateur']) ? $_COOKIE['codeUtilisateur'] : "";
|
||||
$codeSociete = isset($_COOKIE['codeSociete']) ? $_COOKIE['codeSociete'] : "";
|
||||
$societeExiste = true;
|
||||
?>
|
||||
|
||||
<form class="login100-form validate-form" action="Connexion/connecter" method="post">
|
||||
<span class="login100-form-logo"></span>
|
||||
|
||||
<form class="login-form validate-form" action="Connexion/connecter" method="post">
|
||||
<?php
|
||||
if ($_SESSION['lang'] == "en_US") {
|
||||
if($_SESSION['lang'] == "en_US") {
|
||||
require('english.php');
|
||||
} else {
|
||||
require('french.php');
|
||||
|
|
|
|||
114
Vue/portail.php
114
Vue/portail.php
|
|
@ -1,82 +1,64 @@
|
|||
<?php defined('APP_VERSION') || define('APP_VERSION', date('YmdHi')); ?>
|
||||
<?php
|
||||
defined('APP_VERSION') || define('APP_VERSION', date('YmdHi'));
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<html lang="<?= ($_SESSION['lang'] == "en_US") ? 'en' : 'fr' ?>">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<base href="<?= $racineWeb ?>">
|
||||
<title><?= $titre ?></title>
|
||||
|
||||
<link rel="icon" href="Bootstrap_new/images/favicon.ico"/>
|
||||
<link href="Bootstrap_new/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
|
||||
|
||||
<link href="Bootstrap_new/css/style-portail.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
|
||||
<title><?= $titre ?></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="login-wrapper">
|
||||
<div class="slide-container">
|
||||
<div class="slides">
|
||||
<img src="assets/img/slides/image01.jpg" class="slide active">
|
||||
<img src="assets/img/slides/image02.jpg" class="slide">
|
||||
<img src="assets/img/slides/image03.jpg" class="slide">
|
||||
<img src="assets/img/slides/image04.jpg" class="slide">
|
||||
<img src="assets/img/slides/image05.jpg" class="slide">
|
||||
<img src="assets/img/slides/image06.jpg" class="slide">
|
||||
<img src="assets/img/slides/image07.jpg" class="slide">
|
||||
<img src="assets/img/slides/image08.jpg" class="slide">
|
||||
<img src="assets/img/slides/image09.jpeg" class="slide">
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-visual d-none d-lg-block">
|
||||
<div class="slide-container">
|
||||
<div class="slides">
|
||||
<img src="Bootstrap_new/login/images/bg-01.jpg" class="active">
|
||||
<img src="Bootstrap_new/login/images/bg-02.jpg">
|
||||
<img src="Bootstrap_new/login/images/bg-03.jpg">
|
||||
<img src="Bootstrap_new/login/images/bg-04.jpg">
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<span class="next"><i class="fas fa-chevron-right"></i></span>
|
||||
<span class="prev"><i class="fas fa-chevron-left"></i></span>
|
||||
</div>
|
||||
<div class="dotsContainer">
|
||||
<div class="dot active" attr='0'></div>
|
||||
<div class="dot" attr='1'></div>
|
||||
<div class="dot" attr='2'></div>
|
||||
<div class="dot" attr='3'></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="nav-btn next" onclick="slideNext()">❯</span>
|
||||
<span class="nav-btn prev" onclick="slidePrev()">❮</span>
|
||||
<div class="dotsContainer">
|
||||
<?php for($i=0; $i<9; $i++): ?>
|
||||
<div class="dot <?= $i==0?'active':'' ?>" onclick="switchImage(<?= $i ?>)"></div>
|
||||
<?php endfor; ?>
|
||||
|
||||
<div class="auth-content">
|
||||
<div class="auth-card">
|
||||
<div class="auth-header text-center">
|
||||
<img src="Bootstrap_new/images/logo_inter_sante.png" alt="Logo" class="auth-logo">
|
||||
</div>
|
||||
|
||||
<div id="div_contenu_portail">
|
||||
<?= $contenu ?>
|
||||
</div>
|
||||
|
||||
<footer class="auth-footer text-center">
|
||||
<p>© <?= date('Y') ?> <strong>INTER SANTE</strong>. <?= _("Tous droits réservés.") ?></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-side">
|
||||
<input type="hidden" id="racineWeb" value="<?= $racineWeb ?>">
|
||||
<img src="assets/img/logo_portail_gestionnaire.png" alt="logo" class="portal-logo">
|
||||
<div id="contenu">
|
||||
<?= $contenu ?>
|
||||
</div>
|
||||
<div class="footer-version">
|
||||
INTER SANTÉ © v2026
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Logique Carrousel simple
|
||||
let slides = document.querySelectorAll('.slide');
|
||||
let dots = document.querySelectorAll('.dot');
|
||||
let counter = 0;
|
||||
|
||||
function updateSlides() {
|
||||
slides.forEach(s => s.classList.remove('active'));
|
||||
dots.forEach(d => d.classList.remove('active'));
|
||||
slides[counter].classList.add('active');
|
||||
dots[counter].classList.add('active');
|
||||
}
|
||||
|
||||
function slideNext() {
|
||||
counter = (counter + 1) % slides.length;
|
||||
updateSlides();
|
||||
}
|
||||
|
||||
function slidePrev() {
|
||||
counter = (counter - 1 + slides.length) % slides.length;
|
||||
updateSlides();
|
||||
}
|
||||
|
||||
function switchImage(index) {
|
||||
counter = index;
|
||||
updateSlides();
|
||||
}
|
||||
|
||||
setInterval(slideNext, 4000);
|
||||
document.addEventListener('contextmenu', e => e.preventDefault());
|
||||
</script>
|
||||
<script src="Bootstrap_new/js/jquery.min.js"></script>
|
||||
<script src="Bootstrap_new/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="Bootstrap_new/js/fonctions-portail.js?ver=<?= APP_VERSION ?>"></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user