|
Préparer son espace de travail
|
|
Table des matières
Préparer son espace de travail1) Organiser ses répertoires
Le moyen le plus simple de s'y retrouver est de toujours organiser ces répertoires de la même manière.
De cette manière, vous savez exactement où se trouve tel ou tel type de fichier et pouvez organiser votre répertoire racine afin que celui-ci ne contienne que les pages d'appels de votre projet. 2) Organiser ses fichiersFichiers CSS
J'utilise toujours la même structure, je commence par créer un fichier _css/global.css contenant tous les propriétés communes à chaque page. Fichiers Javascript
Cette partie fonctionne comme la précédente, hormis l'ajout du type de compression, par exemple jquery.nom_plugin.packed.js
Le choix de la version de production dépend généralement de la configuration serveur. La version MIN est une version sans espaces, ni saut de lignes, qui est ensuite Gzippé, la version PACKED utilise un algorythme compressant le code, et l'incluant dans une fonction eval() qui se charge de décompresser le code côté client. Fichiers Inclus
Cette partie contient tous les fichiers inclus et qui ne servent donc pas à l'affichage proprement dit.
Pour les fichiers inclus, j'utilise généralement un nom me permettant de retrouver facilement ce qu'il contient. Fichiers _prepend.php, _append.php, _config.php
Voici 3 fichiers que je ne met pas dans le répertoire _inc. _config.php
Inutile je pense de le présenter, ce fichier contient toutes les informations de configuration de votre projet. Exemple : <?php define('__ROOTPATH', 'http://localhost/phpDD/'); define('__VERSION', '0.1'); define('__GAMETITLE', 'phpD&D'); define("BDD_HOST", "localhost"); define("BDD_USER", "root"); define("BDD_PASS", ""); define("BDD_DB", "phpdd"); define("TABLE_PREFIX", "phpdd_"); ?> _prepend.phpCe fichier est inclus dans toutes les pages, c'est la première ligne de chaque fichier. Il sert généralement à lancer la connexion à la base de données ou d'autres opérations nécessaires sur toutes les pages tel que l'initialisation de session, vérification de cookies… Il est très utile en cas de modifications ultérieurs des entêtes de fichiers. Exemple : <?php session_start(); // Inclusion du fichier de configuration require_once (dirname(__file__) . '/config.php'); // Inclusion des fonctions usuelles require_once (dirname(__file__) . '/_inc/inc.fct_common.php'); // Inclusion des classes et initialisation require_once (dirname(__file__) . '/_inc/class.errorHandler.php'); require_once (dirname(__file__) . '/_inc/class.bdd.php'); $BDD = new bdd_mysql(BDD_HOST, BDD_USER, BDD_PASS, BDD_DB); // Nettoyage des données non sécurisées $_POST = arrayMystripSlashes($_POST); $_GET = arrayMystripSlashes($_GET); $_REQUEST = arrayMystripSlashes($_REQUEST); // Quelques vérifications if (isset($_SESSION['is_logued'])) { /* ... */ } ?> _append.phpCe fichier est inclus dans toutes les pages, c'est la dernière ligne de chaque fichier. Il sert à vider des variables, calculer des temps de débuggage, fermer la connexion à la base… Il est très utile en cas de modifications ultérieurs des pieds de fichiers. Exemple : <?php // Fermeture de la connexion avec la base de données $BDD->close_connection(); unset($BDD); /* ... */ ?> 3) Protéger l'accès aux répertoires sensiblesLe plus simple est de placer un fichier index.htm vide ou contenant le message de votre choix, dans chaque répertoire à protéger, en l'occurence _css, _data, _img, _inc, _js. Il existe d'autre solutions, utilisant des redirections PHP, ou encore l'utilisation de fichier .htaccess. L'utilisation du fichier index.htm a pour avantage d'être fonctionnelle sur n'importe qu'elle configuration et d'être simple à mettre en place. 4) Modèle de pageUne fois toutes ces étapes réalisée, on peut commencer à créer ses pages d'affichage. En exemple, la page index.php <?php require_once (dirname(__file__) . '/_prepend.php'); $html .= 'Mon fichier index.php<br />'; $html .= 'Ceci est ma page principale'; echo $html; require_once (dirname(__file__) . '/_append.php'); ?> Astuce : Remarquez l'utilisation de la variable $html, elle permet de n'utiliser qu'une seule fois la fonction echo(). Ce qui est bien plus rapide ! 5) ConclusionEn utilisant cette méthode de rangement, vous gagnerez en efficacité, en utilisant une notation unifiée et en rangeant chaque fichier à sa place, cela vous permettra de les retrouver bien plus rapidement et d'avoir une vue d'ensemble concise et claire. Notons que ceci reste particulièrement basique est peut grandement être étoffé, si vous utilisez un système de cache ou de template, voir de réécriture d'url. |
|
tutoprog/preparer_espace.txt · Dernière modification: 2011/04/03 14:06 (édition externe)
|