YBET

Rue Albert 1er, 7

6810 Pin - Chiny

Route Arlon - Florenville

(/fax: 061/32.00.15

Formation: développer un site Internet en PHP

YBET   Contact

14.7. Méthode de programmation en PHP

1 Introduction - 2. L'utilisation systématique de fonctions - 3. Les paramètres de l'hébergement - 4. Créez des dossiers spécifiques - 5. Comment inclure un fichier dans un autre - 6. Commentaires et dossiers de développement - 7. Sécurisés en même temps que développer

Pour l'instant, nous avons vu les fonctions, quelques commandes PHP, les variables et constantes. Ceci pourrait suffire pour créer beaucoup d'applications, même très grosses. Ce chapitre va donner quelques explications complémentaires sur des méthodes de programmation de sites en PHP liés à une base de donnée MySQL.

Les très anciens informaticiens se souviendront des programmes en langage basic. Pas de structure, des lignes de commandes numérotées avec l'utilisation régulière de GOTO suivi d'un numéro de ligne. Pour l'avoir pratiqué pendant des années, cette méthode de renvoi fonctionnait tant que l'on ne devait pas modifier le programme quelques mois plus tard. Le problème n'est pas de mettre des lignes de codes et que le programme fonctionne mais bien "Est-ce que je saurais le perfectionner ou l'adapter dans deux où trois ans?". Sans des méthodes strictes, impossible.

2. L'utilisation (presque) systématique des fonctions.

En étudiant l'utilisation des fonctions, on a simplement créé quelques lignes de code pour un simple calcul de TVA. Pourtant, dans de réels développements, les fonctions sont très souvent utilisées. La première raison est l'utilisation de mêmes fonctionnalités à partir de pages différentes. La deuxième est la facilité à maintenir le développement (lisez modifier, amélioration et mise en conformité avec les versions de PHP). On verra ci-dessous que l'on va les inclure dans des fichiers à part en les regroupant par type).

Quelques exemples:

Pour savoir qu'elles fonctions sont définies à partir d'une page, utilisez la commande

<?php
$fonctions = get_defined_functions();
print_r($fonctions);
?>

3. La configuration de l'hébergement

Votre hébergement actuel utilise pour le transfert FTP un Host (le nom du serveur), un nom d'utilisateur et un mot de passe. Si vous changez d'hébergement, les trois seront changés. C'est identique pour une base de donnée MySQL que nous verrons dans le prochain chapitre.

Rassemblez dans un fichier l'ensemble de ces éléments en les reprenant comme constantes et pas les insérer sur les pages où vous en avez besoin.

4. Créez des dossiers spécifiques.

La majorité des développement utilisent un sous-dossier, le plus souvent \includes mais d'autres sont possibles suivant le développement. Dans ce sous-dossier, on va également retrouver d'autres sous dossiers spécifiques comme \templates, \fonction, ... Plus le développement est important, plus le nombre de dossier (et de fichiers) sera important. Par exemple, on peut créer un fichier reprenant les fonctions de gestion des cookies, de gestion de la base de donnée MySQL et un autre reprenant toutes les autres. Ces dossiers doivent reprendre un fichier index.php (qui évitent d'afficher les fichiers dans le dossier et de pouvoir les télécharger) et une protection par fichier HTaccess pour empêcher l'utilisation des commandes à partir d'un autre site Internet. Le plus souvent, on change l'extension des fichiers reprenant les fonctions par .inc.

5. Comment inclure un fichier php dans un autre?

L'intérêt d'utiliser plusieurs fichiers est de faciliter la maintenance, de séparer les fichiers réellement affichés de ceux qui reprennent des fonctions et et autres.. Deux fonctions peuvent être utilisées: include () et require(). Elles fonctionnent de la même manière sauf que require arrêtera le programme s'il ne trouve pas le fichier demandé.

  • <?php
  • // notez les ' dans les deux fonctions
  • include ('\includes\fonctions.inc'); // inclut le fichier fonctions.inc 'reprenant les fonctions standards
  • require ('includes\start.php'); // inclut le fichier start.php mais arrête le programme si le fichier est introuvable.
  • ?>

C'est aussi valable comme nous le verrons pour la mise en page du site.

6. Les commentaires et dossiers de programmation

Les commentaires sont des parties de textes qui ne sont pas lues par le navigateur mais visibles quand on lit le programme en mode texte. En lui même, un commentaire ne sert à rien dans le programme sauf quand vous relisez vos codes de programmations et encore plus quand vous retravaillez sur le développement Internet quelques mois ou années plus tard.

En php:
// ligne de commentaire
/*
lignes de textes mises en commentaires

*/

EN HTML

<!-- commentaire -->

Mais le plus important est de créer un document avec un simple traitement de texte reprenant chaque méthode de travail: l'explication de chaque fonction (à quoi elle sert, les paramètres d'entrée et de sortie, ...) classées par fichier où elle est enregistrée, par type (corrections, vérifications de données, MySQL, ...), le fonctionnement global de chaque page (ou regroupement de pages de même fonction), ...

Pour ma part, je ne débute jamais un développement un peu conséquent sans utiliser un grand tableau blanc avec des schémas des différentes tables et leurs liaisons, des besoins (avec des contraintes parfois), ... Cette partie ressemble un peu à un devis des desideratas clients, c'est la partie "début" qui reprend les grandes lignes de ce que sera le site avant de mettre la moindre ligne de code PHP. Ignorer cette partie, c'est refaire quelques semaines plus tard ce qu'on a déjà fait en reprenant d'autres directions.

Le design / présentation du site n'intervient pas en programmation, c'est un fichier CSS et / ou des tableaux et / ou insertion de fichiers pour les parties navigations. Elle n'intervient pas directement dans le site et peut-être (doit être) facilement modifiable sans modifier la programmation. Il faut juste en tenir compte en commençant.

7. Sécurisez dès le départ votre développement

Au début de la programmation, on a (tous) tendance à créer l'application et penser à la sécurité ensuite: en fin de développement, on reprend toutes les parties de codes et vérifier si elles sont protégées contre les attaques éventuelles ... Grave erreur, vous risquez toujours d'oublier une ou l'autre partie.

En premier, tout ce qui permet d'entrer des données dans un formulaire ou une base de donnée MySQL doit automatiquement utiliser une fonction ADDSLASHES au minimum pour (tenter d') éviter les injections de codes. Vous êtes sur Internet, facile à se cacher pour essayer n'importe quoi.

En deuxième, tous les dossiers sur le site Internet reprenant des fonctions, templates, ... doivent être protégés en créant un fichier index.php (même vide) ou un fichier htaccess pour éviter la lecture (et le téléchargement) des fichiers sensibles.

Dernière chose, la programmation Objet a de nombreux avantages en terme de rapidité de développement Internet et autres. Par contre, si la programmation est mal faite (ou pas métrisée), c'est une grosse source de faille par injection SQL et autres.

Sur le sujet:

Les feuilles de styles, utilisation du CSS.

Formation référencement en ligne, positionnez votre site sur Google, MSN, Yahoo, ...

>8 . Base de donnée et tables MySQL

<6 . Fonctions PHP

Création: 28/03/2012