CHANGEMENTS MAJEURS: - Fusion des 3 bases de données (uof_frontal, uof_linet, logs) en une seule base 'cleo' - Migration vers PDO avec pattern Singleton et requêtes préparées - Configuration externalisée via variables d'environnement (.env) - Séparation application (dva-front) et base de données (maria3) SÉCURITÉ: - Suppression des credentials en dur dans le code - Implémentation de la classe Database avec gestion d'erreurs sécurisée - Protection contre les injections SQL via requêtes préparées INFRASTRUCTURE: - Container dva-front : MariaDB supprimé, application PHP uniquement - Container maria3 : Base de données centralisée MariaDB 11.4 - Script de déploiement optimisé (deploy-cleo-fast.sh) CORRECTIONS: - Ajout des tables manquantes (z_sessions, z_stats, marches_listes) - Compatibilité PDO (fetch_assoc → fetch(PDO::FETCH_ASSOC)) - Suppression des commentaires debug dans les réponses AJAX - Permissions fichiers (.env 644, logs 777 avec owner nobody) DOCUMENTATION: - Mise à jour README.md avec architecture actuelle - Migration README.md marqué comme complété - TODO.md avec état d'avancement et prochaines étapes (PROD IN4) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
94 lines
3.1 KiB
PHP
94 lines
3.1 KiB
PHP
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta charset="UTF-8">
|
|
<!--[if IE]>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
|
<![endif]-->
|
|
<?php if ($Route->_script == "map") {
|
|
?>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><?php
|
|
} else {
|
|
?>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"><?php
|
|
}
|
|
?>
|
|
<title><?= $Conf->_apptitle; ?> | <?= $Route->_titre; ?></title>
|
|
<meta name="description" content="<?= $Route->_description; ?>">
|
|
<meta name="keywords" content="<?= $Route->_keywords; ?>">
|
|
<meta name="author" content="d6soft.fr">
|
|
<?php
|
|
if ($Conf::intra || $Conf::admin > 0) {
|
|
?>
|
|
<meta name="robots" content="noindex, nofollow"><?php
|
|
} else {
|
|
?>
|
|
<meta name="robots" content="index, follow"><?php
|
|
}
|
|
?>
|
|
<meta name="HandheldFriendly" content="True">
|
|
<meta name="MobileOptimized" content="320">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<link rel="icon" href="favicon.ico"/>
|
|
<link rel="shortcut icon" href="favicon.ico"/>
|
|
<link rel="apple-touch-icon" href="favicon.ico"/>
|
|
|
|
<link rel="icon" type="image/png" href="favicon.png"/>
|
|
|
|
<!--[if lt IE 9]>
|
|
<script src="/res/js/html5shiv.min.js"></script>
|
|
<script src="/res/js/respond.min.js"></script>
|
|
<![endif]-->
|
|
<?php
|
|
switch ($Conf::admin) {
|
|
case 1:
|
|
$partCss = "adm";
|
|
break;
|
|
case 2:
|
|
$partCss = "mob";
|
|
if ($Route->_script == "map") {
|
|
$partCss = "mob-map";
|
|
}
|
|
break;
|
|
default:
|
|
$partCss = "user";
|
|
break;
|
|
}
|
|
?>
|
|
<link href="/pub/res/bs-3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/pub/res/fa-4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/pub/res/css/d6-global.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/pub/res/css/d6-bs3.css" rel="stylesheet" type="text/css"/>
|
|
<?php
|
|
if ($Route->_form == 1) {
|
|
?>
|
|
<!-- <link href="/pub/res/jquery-ui-1.11.4/jquery-ui.min.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/pub/res/css/jquery.datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/res/sn-0.8.3/summernote.css" rel="stylesheet" type="text/css"/> -->
|
|
<link href="/pub/res/css/flat-form.css" rel="stylesheet" type="text/css"/>
|
|
<?php
|
|
}
|
|
|
|
//! On charge un CSS spécifique au site
|
|
$cssFile = $partCss . '.css';
|
|
|
|
if (file_exists(RESROOT . DS . 'css' . DS . $cssFile)) {
|
|
?>
|
|
<link href="/pub/res/css/<?= $cssFile; ?>" rel="stylesheet" type="text/css"><?php
|
|
}
|
|
|
|
if ($Route->_agenda || $Route->_scheduler == 1) {
|
|
?>
|
|
<link href="/res/fc-3.4.0/fullcalendar.min.css" rel="stylesheet" type="text/css"/>
|
|
<link href="/res/fc-3.4.0/fullcalendar.print.css" rel="stylesheet" media="print"/>
|
|
<?php
|
|
if ($Route->_scheduler) {
|
|
?>
|
|
<link href="/res/fc-scheduler-1.6.2/scheduler.min.css" rel="stylesheet" type="text/css"/>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
if ($Route->_sidebar == 1) { ?>
|
|
<link href="/res/sidebar/sidebar.css" rel="stylesheet" type="text/css"/><?php }
|
|
if ($Route->_osm == 1) { ?>
|
|
<link href="/res/mini/css/osm-0.7.7.min.css" rel="stylesheet" type="text/css"/><?php }
|