Bonjour / bonsoir,
Cela fait maintenant presque une demi année que je me suis mit au développement web en autodidacte et je commence a avoir des habitudes et des pratiques régulières - empruntées de diverses sources ou mise en place à force d'expériences et de tests divers.
Je me suis donc inscris sur cette plateforme et je viens vers vous pour avoir des avis externes et si possible de personnes qualifiées, sur quelques unes de mes nouvelles pratiques.
M'orientant de plus en plus vers une structure "CMS/FrameWork-isante" faite maison, j'ai commencé à employer les supers globales PHP "$_SESSION" et "$GLOBALS" pour regrouper diverses informations récurrentes dans mes pages, que je stock ensuite dans des variables à noms plus courts ; optimisant mon temps de travail une fois mit en place.
J'initie aussi l'automatisation de l'écriture de certains types de lignes en employant des fonctions - typiquement les liens vers les CSS. Aussi j'ai débuté la conversion de mes CSS en fichiers PHP, interprétés en CSS par les navigateurs.
Voici par exemple la base d'une de mes feuilles de structure, que j’inclue au début de chaque page ; appelée "globals.php" :
ainsi qu'une feuille typique de ma structure CSS fondamentale ; appelée "style.php" :
et un "head.php" classique donne ceci :
J'aimerais donc beaucoup avoir des retours sur mes décisions, afin de m'éviter un possible dés-apprentissage ultérieur ; obligatoire si mauvaises pratiques.
Modifié par Moltenhead (27 Oct 2017 - 01:26)
Cela fait maintenant presque une demi année que je me suis mit au développement web en autodidacte et je commence a avoir des habitudes et des pratiques régulières - empruntées de diverses sources ou mise en place à force d'expériences et de tests divers.
Je me suis donc inscris sur cette plateforme et je viens vers vous pour avoir des avis externes et si possible de personnes qualifiées, sur quelques unes de mes nouvelles pratiques.
M'orientant de plus en plus vers une structure "CMS/FrameWork-isante" faite maison, j'ai commencé à employer les supers globales PHP "$_SESSION" et "$GLOBALS" pour regrouper diverses informations récurrentes dans mes pages, que je stock ensuite dans des variables à noms plus courts ; optimisant mon temps de travail une fois mit en place.
J'initie aussi l'automatisation de l'écriture de certains types de lignes en employant des fonctions - typiquement les liens vers les CSS. Aussi j'ai débuté la conversion de mes CSS en fichiers PHP, interprétés en CSS par les navigateurs.
Voici par exemple la base d'une de mes feuilles de structure, que j’inclue au début de chaque page ; appelée "globals.php" :
/* ------------------------ OPTION SELECT -----------------------*/
$css_extension = '.php';
/* ---------------------------- BASE ----------------------------*/
$_SESSION['root'] = htmlspecialchars($_SERVER['DOCUMENT_ROOT']);
$d__root = htmlspecialchars($_SESSION['root']);
//securisation level preference
$h__select = 'https';
$_SESSION['httph'] = $h__select . '://' . htmlspecialchars($_SERVER['HTTP_HOST']);
$httph = htmlspecialchars($_SESSION['httpsh']);
/* ------------------------- STRUCTURE -------------------------*/
$_SESSION['root_strc'] = $d__root . '/design/strc/';
$d__strc = htmlspecialchars($_SESSION['root_strc']);
$_SESSION['link_css'] = $httph . '/design/css/';
$h__css = htmlspecialchars($_SESSION['link_css']);
$_SESSION['link_fnt'] = $httph . '/design/fnt/';
$h__fnt = htmlspecialchars($_SESSION['link_fnt']);
$_SESSION['link_img'] = $httph. '/design/img/';
$h__img = htmlspecialchars($_SESSION['link_img']);
$_SESSION['link_vid'] = $httph . '/design/vid/';
$h__vid = htmlspecialchars($_SESSION['link_vid']);
/* -------------------- ACTIVE FILE PATHS ---------------------*/
$d__here = htmlspecialchars($_SERVER['PHP_SELF']);
$uri = htmlspecialchars($_SERVER['REQUEST_URI']);
/* -------------------- ACTIVE FILE NAMES ---------------------*/
$a__name = substr($d__here, strrpos($d__here, '/') + 1, strlen($d__here) - strrpos($d__here, '/'));
$a__shortname = substr($a__name, 0, strlen($a__name) - strrpos($a__name, '.') + 1);
$a__nametocss = $a__shortname . $css_extension;
/* ----------------------- USEFUL PATHS -----------------------*/
$h__csself = $h__css . 'style_' . $a__nametocss;
/* --------------------- USEFUL FUNCTIONS ---------------------*/
function printStyle($style_name) {
global $h__css, $css_extension;
echo '<link rel="stylesheet" type="text/css" href="' . $h__css . $style_name . $css_extension . '" />';
}
ainsi qu'une feuille typique de ma structure CSS fondamentale ; appelée "style.php" :
<?php
header('content-type: text/css');
ob_start('ob_gzhandler');
header('Cache-Control: max-age=31536000, must-revalidate');
?>
/* ------------------------------ CSS PRESET ------------------------------ */
* { font-family:<?php echo $txt__b_font; ?>; color:<?php echo $txt__b_color; ?>; margin:0; padding:0; box-sizing:border-box; }
//min page size 100% x 100% window size
html { width:100vw; max-width:100%; }
body { width:100%; min-height:100vh; }
//boxes to block
div, section, aside, button, i { display:block; }
//text boxes to inline-block
span, em, article, b, strong, p, a { display:inline-block; }
//button style reset
button { border:none; background:none; color:black; }
//links style
a { color:<?php echo $txt__b_color; ?>; }
a:link { color:inherit; }
a:visited { color:grey; }
a:hover { color:<?php echo $txt__sec_color; ?>; }
a:active { }
//les variables PHP sont stockées dans une autre feuille appelée "g_style.php", et sont des raccourcis pointant vers des $GLOBALS associées.
et un "head.php" classique donne ceci :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta rel="canonical" href="url_canonique">
<title>titre</title>
<meta name="description" content="description" />
<?php printStyle('style'); printStyle('g_style'); printStyle('head_style'); printStyle('footer_style'); ?>
<link rel="stylesheet" type="text/css" href="<?php echo $h__csself; ?>">
<!-- "head.php" est incluse dans la balise <head> dans la feuille "index.php", située à la racine du domaine -->
J'aimerais donc beaucoup avoir des retours sur mes décisions, afin de m'éviter un possible dés-apprentissage ultérieur ; obligatoire si mauvaises pratiques.
Modifié par Moltenhead (27 Oct 2017 - 01:26)