Conception Developpement Web PHP
Conception Developpement Web PHP
Conception Developpement Web PHP
Langage PHP
En 1994, et suite à un projet personnel, Rasmus Lerdorf a créé le langage PHP qui désignait
à l'époque Personnal Home Page. Ce projet a été animé par son besoin de mettre à jour
son CV en ligne au lieux de modifier le code source et réhéberger la page à chaque fois.
En 1997 Zeev Suraski et Andi Gutmans ont entamé des travaux d'amélioration du langage
PHP. La première version officielle est alors nommée PHP3 dont l'acronyme récursif
désigne désormais PHP Hypertext Preprocessor. Peu de temps après, ils ont développé le
moteur Zend Engine suite auquel, la version 4 de PHP est née.
En 2004, PHP5 a été créé. Il s'agit d'une version du langage qui supporte la Programmation
Orientée Objet (POO) d'une manière très avancée. C'est cette version qui est actuellement
utilisée par la plupart des développeurs PHP. Le successeur de PHP5 est PHP7 qui est
finalisé en décembre 2015 au dépend de PHP6 qui n'a pas été officialisé.
Chapitre 4: Le langage PHP
En général, on peut regrouper les sites Web en deux catégories: les sites statiques et les
sites dynamiques.
Un site statique renferme un contenu figé qui ne change pas automatiquement et qui
reste le même tant que le Webmaster n'est pas intervenu pour le modifier manuellement.
Les sites dynamiques, quant-à eux, sont des sites Web dont le contenu change d'une
manière autonome. Celui ci peut changer en fonction de la date, le navigateur utilisé par le
client, la position géographique de celui-ci, les privilèges attribués à chaque utilisateur
suite à une authentification par exemple, l'historique de navigation etc...
Les sites dynamiques reposent sur des langages dits CGI (pour Common Gateway
Interface) dont PHP fait parti.
Chapitre 4: Le langage PHP
Particularités de PHP
PHP est un langage de programmation coté serveur. PHP s’exécute entièrement sur le
serveur qui héberge le site Web. Bien que son exécution est moins rapide que celle de
Javascript en raison du temps que prend la requête pour parvenir au serveur et la réponse
pour arriver jusqu'au navigateur, PHP dispose de plusieurs atouts qui se résumer dans les
points suivants:
• Code source confidentiel: Puisque PHP est un langage CGI qui s’execute sur le serveur,
alors son code source n'est jamais visible par le client, ce qui permet de manipuler des
données confidentielles.
• Open source: PHP est un langage de programmation libre de droit.
• Multi-plateforme: PHP s’exécute sur des serveurs d'applications que l'on peut installer
sur de nombreux systèmes d'exploitation (Unix/Linux, Windows, Mac OS, BSD...)
• Syntaxe simple et intuitive: Les personnes ayant déjà programmer en C ou en Javascript
trouvent PHP facile à manipuler.
Chapitre 4: Le langage PHP
Particularités de PHP
• Interfaçage simple avec les bases de données: Bien que PHP est souvent associé
au SGBD MySQL, il peut cependant interagir avec presque tous les SGDB connus,
d'autant plus à l'aide de l'interface PDO.
• Richesse fonctionnelle: PHP prend en charge de nombreuses bibliothèques qui
permettent de réussir des traitements de nature différente comme la manipulation du
DOM, la programmation réseau ou le traitement d'images...
• Supports disponibles: La documentation de PHP est très abondante et diversifiée surtout
grâce aux postes d’une très large communauté qui s'est formée autour de lui. Cependant le
support PHP officiel est disponible sur le site www.php.net. Si vous cherchez des
informations concernant une fonction, il suffit de taper son nom après l'URL. Par exemple,
pour obtenir des informations sur la fonction echo de PHP, il suffit de saisir l'URL
suivante: www.php.net/echo.
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?
Parlant justement de serveur Web, il faut d'abord savoir que ce serveur exécute les
requêtes HTTP (HyperText Transfer Protocol) qui est le protocole de communication utilisé
pour transférer les données hypertextes entre le client et le serveur.
Serveur Apache
Apache est un serveur Web libre distribué sous la licence Apache. Il est le serveur Web le
plus populaire et le plus utilisé par les hébergeurs à travers la toile.
Il existe plusieurs logiciels qui font office de serveur Web et qui supportent automatiquement
le langage PHP. Wamp
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?
Une fois WAMP Server démarré, vous disposez désormais d'un serveur Web local à votre
machine. Pour interroger ce serveur vous pouvez taper sur l'URL de votre navigateur
préféré l'adresse http://localhost ou http://127.0.0.1. Ces deux adresses font référence au
serveur local (ou boucle locale dans le jargon des réseaux informatiques). Normalement,
vous devez obtenir la page propre au serveur qui contient des informations sur WAMP
Server.
Chapitre 4: Le langage PHP Intégration du code PHP
Tout d'abord, il faut noter qu'un document PHP est toujours suffixé par l'extension .php.
C'est de cette manière que le serveur Web sait qu'il doit faire exécuter le document PHP par
le serveur d'application, qui renferme le moteur PHP, avant de le renvoyer au client.
Cependant, il faut placer nos documents PHP (et les autres documents du site Web d'ailleurs)
dans un endroit bien précis. Cet endroit s'appelle le Document Root (littéralement la racine
du serveur Web).
Sur WAMP Server le Document Root est le dossier du nom de www, il est par défaut situé
dans le dossier d'installation du logiciel (généralement C:/wamp/www). Il est donc important
de placer tous les documents PHP que nous allons créer dans ce répertoire.
Chapitre 4: Le langage PHP Intégration du code PHP
Délimiteurs PHP
Pour indiquer au serveur où est intégré le code PHP dans la page, il faut le placer dans des
délimiteurs (ou balises) spéciaux. Tout ce qui est déclaré entre ces délimiteurs sera exécuté
par le serveur avant de renvoyer la page au client.
• Délimiteur long: il s'agit du délimiteur classique de PHP. Le code PHP doit être placé
entre <?php et ?>. C'est le plus populaire et le plus recommandé.
Chapitre 4: Le langage PHP Les bases du PHP
Les commentaires
•En PHP on peut intégrer des commentaires qui seront ignorés lors de l’exécution du
script par le serveur. Comme pour Javascript (ou pour le langage C) les commentaires
en PHP peuvent avoir deux formes:
Commentaire de fin de ligne: il s'agit d'un commentaire qui s'étend jusqu'à la fin de la
ligne à partir du symbole double slash (//).
•Commentaire sur plusieurs lignes: il s'agit d'un bloc qui peut contenir plusieurs lignes
comprises entre les symboles /* et */.
Chapitre 4: Le langage PHP Les bases du PHP
Variables PHP
Comme pour les autres langages de programmation, en PHP les variables servent à
stocker des valeurs qui peuvent changer au cours du programme. A l'instar de
Javascript, nous n'avons pas besoin de déclarer le type de la variable avant de s'en servir
et on peut lui affecter des valeurs de types différents tout au long du programme sans
recourir au CAST.
En PHP, les noms de variables sont préfixées par le symbole dollar ($) et commencent
par une lettre minuscule, majuscule ou le caractère souligné (_). Cependant, ils peuvent
contenir des chiffres au milieu ou à la fin. Les espaces ne sont pas autorisés.
Chapitre 4: Le langage PHP Les bases du PHP
Variables scalaires
En PHP, il existe des variables scalaires et des variables tableau (que l'on va traiter plus loin
dans ce cours). Le variables scalaires peuvent être:
• Des nombres entiers (nombres sans virgule positifs ou négatifs).
• Des nombres décimaux (de type double).
• Des chaines de caractères (des suites de caractères quelconques).
• Des booléens (qui peuvent avoir les valeurs true ou false).
Si une variable appelée dans le script existe déjà et a déjà reçu une valeur, celle ci sera
utilisée. Sinon alors le moteur PHP lui affecte la valeur 0 par défaut.
Chapitre 4: Le langage PHP Les bases du PHP
Fonction define()
Pour définir un constante on utilise la fonction define(cte,val). cte représente l'identifiant
de la constante à définir et val sa valeur.
Chapitre 4: Le langage PHP Les bases du PHP
Les opérateurs
Les opérateurs sont des symboles qui permettent de faire des opérations sur les
variables. Les opérateurs sont souvent les mêmes dans la plupart des langages de
programmation et ils sont représentés par des symboles similaires dans la plupart des
cas.
En PHP on distingue 5 familles d'opérateurs:
• Opérateurs arithmétiques.
• Opérateurs d'incrémentation.
• Opérateurs assignement.
• Opérateurs de comparaison.
• Opérateurs logiques.
Chapitre 4: Le langage PHP Les structures de contrôle
Structure do while
Structure while
Chapitre 4: Le langage PHP Les structures de contrôle
Fonctions trigonométriques
•pi(): retourne la valeur approximative de PI (3,14159265359).
•sin($x): retourne le sinus de $x.
•cos($x): retourne le cosinus de $x.
•tan($x): retourne la tangente de $x.
•asin($x): retourne l'arc sinus de $x.
•acos($x): retourne l'arc cosinus de $x.
•atan($x): retourne l'arc tangente de $x.
•strlen($str): retourne un entier qui représente le nombre de caractères que contient la chaîne
$str.
•strtoupper($str): convertir la chaîne $str en majuscule.
•strtolower($str): convertir la chaîne $str en minuscule.
•ucfirst($str): convertit le premier caractère de la chaîne $str en majuscules.
Chapitre 4: Le langage PHP Chaînes de caractères
Tableaux indexés
Un tableau indexé contient des indices numériques qui indexent le contenu souhaité. Ces
indexes commencent par défaut de 0 et s'incrémentent de 1 à chaque fois.
Pour créer un tableau indexé en PHP il existe plusieurs méthodes:
Chapitre 4: Le langage PHP Les tableaux
Tableaux associatifs
Si un tableau indexé contient des indices numériques qui indexent les entrées, un tableau
associatif , quant-à lui, contient des clés. Ces clés sont des chaînes de caractères qui
permettent d'avoir une idée plus claire sur le contenu indexé.
Par exemple, le dernier tableau créé contient trois valeurs "PHP", "Coté serveur" et 60.
Mais on ne sait pas ce que représentent réellement ces trois entrées. Essayons maintenant
de les déclarer au sein d'un tableau associatif.
Chapitre 4: Le langage PHP Les tableaux
Bien entendu, c'est ce qu'il y a de plus simple en HTML. Il s'agit d'un formulaire qui
contient deux champs, une zone de texte au nom de prenom et un bouton d'envoi du
nom de valider. Le formulaire utilise la méthode POST et envoie ses valeurs à la page
courante une fois le bouton d'envoi actionné.
Sur la page qui est sensée traiter le formulaire (la page courante dans ce cas), on doit
d'abord récupérer les valeurs postées par celui-ci. Pour ce faire, on a recourt aux variables
(tableaux) superglobales $_POST et $_GET.
Chapitre 4: Le langage PHP Formulaires et fonctions agissant sur les variables
La variable $_POST contient la valeur du champ de formulaire dont le nom est passé en
tant que clé. Par exemple, pour récupérer la valeur que l’internaute a saisi dans la zone de
texte nommée prenom, on fait appel à la variable $_POST["prenom"].
$_POST et $_GET sont des variables superglobales, c'est à dire qu'elles sont reconnues
dans n'importe quel contexte (à l'intérieur des fonctions comme à l'extérieur, voir même à
l'intérieur des méthodes d'une classe dans le cas de PHP5 par exemple).
Chapitre 4: Le langage PHP Formulaires et fonctions agissant sur les variables
Aucune des deux variables (tableaux) $_POST n'existe avant de poster le formulaire.
Dans ce cas, au premier chargement de la page, les clés "prenom" et "valider" que
contiennent les crochés ne seront pas reconnus par le compilateur PHP qui générera des
erreurs de notification disant "Indefined index prenom" et "Indefined index valider".
Chapitre 4: Le langage PHP Les fonctions
Les inclusions
Il se trouve qu'un bout de code figure dans plusieurs documents constituant notre projet
Web (site ou application). Il s'agit souvent de codes qui assurent la connexion à la base de
données ou à définir des éléments qui figurent systématiquement sur toutes nos pages,
comme les entêtes, bas de pages et menu de navigation.
Le fait de déclarer le même code dans plusieurs pages rend celui-ici difficile à maintenir. En effet, imaginons que nous
voulons nous connecter à une base de données du nom de "mabase" installée sur le serveur local et à laquelle on peut
accéder avec l'utilisateur "user" et le mot de passe "pass". Si on veut se connecter à la base de données en
utilisant PDO(PHP Data Object), la syntaxe ressemblerait à ceci:
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés
Structure include
La structure include permet d'appeler un fichier dans la page où elle a été déclarée. On la prend à tort
pour une fonction, mais en réalité il s'agit d'une structure et par conséquent, les parenthèses ne sont
pas obligatoire.
Structure require
La structure require fonctionne pratiquement comme include. Il s'agit aussi d'une structure mais
on peut la déclarer avec des parenthèses. La principale différence entre les deux structures c'est
qu'à l'inverse de include qui se contente d'afficher une notification si le fichier appelé n'est pas
accessible, require quant-à-elle arrête nettement l’exécution du programme.
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés
Quand une session est créée sur le serveur, ce dernier envoie son identifiant (unique) au
client sous forme d'un cookie.
Chapitre 4: Le langage PHP Les sessions (et variables de session)
Fonction fopen():
• Fonction fclose()
La fonction fclose($fp) ferme le fichier identifié par $fp. $fp est l'identifiant de l'ouverture du
fichier retourné par la fonction fopen().
Chapitre 4: Le langage PHP Les fichiers
• Fonction file()
Lit le fichier et retourne son contenu sous format tableau.
• Fonction explode()
explode() retourne un tableau de chaînes de caractères, chacune d'elle étant une sous-
chaîne du paramètre string extraite en utilisant le séparateur delimiteur.
Lire des données
$lignes résultat de file contiendra les deux lignes du
fichier.
• Fonction fputs()
La fonction fputs($fp,$chaine) permet d'écrire dans le fichier la chaîne de caractère $chaine à
partir de la position actuelle du pointeur. S'il y a déjà du contenu à l'endroit où l'on souhaite
écrire, alors il sera écrasé lettre par lettre jusqu'à ce que l'écriture de $chaine finisse.
Stockage de données
La base de données (BDD) est un système qui enregistre des informations. Ce qui est
très important ici, c'est que ces informations sont toujours classées.
Les SGBD (Système de Gestion des Bases de Données) sont les programmes qui se chargent
du stockage des données. Les plus connus sont, pour rappel :
- MySQL : libre et gratuit, c'est probablement le SGBD le plus connu. Nous l'utiliserons dans
cette partie ;
- PostgreSQL : libre et gratuit comme MySQL, avec plus de fonctionnalités mais un peu moins
connu ;
- SQLite: libre et gratuit, très léger mais très limité en fonctionnalités ;
-Oracle : utilisé par les très grosses entreprises ; sans aucun doute un des SGBD les plus
complets, mais il n'est pas libre et on le paie le plus souvent très cher ;
Chapitre 4: Le langage PHP Les bases de données mysql
Stockage de données
- les ordres au SGBD sont donnés en langage SQL.
Vous allez devoir communiquer avec le SGBD pour lui donner l'ordre de récupérer ou
d'enregistrer des données. Pour lui « parler », on utilise le langage SQL.
La bonne nouvelle, c'est que le langage SQL est un standard, c'est-à-dire que quel que
soit le SGBD que vous utilisez, vous vous servirez du langage SQL. La mauvaise, c'est
qu'il y a en fait quelques petites variantes d'un SGBD à l'autre, mais cela concerne
généralement les commandes les plus avancées.
Chapitre 4: Le langage PHP Les bases de données mysql
Stockage de données
- Le PHP est l’intermédiaire entre vous et mysql
Stockage de données
- Structure d’une base de données
phpMyAdmin
Chapitre 4: Le langage PHP Les bases de données mysql
phpMyAdmin
1- Création d’une base de données
Chapitre 4: Le langage PHP Les bases de données mysql
phpMyAdmin
1- Création des tables
Chapitre 4: Le langage PHP Les bases de données mysql
phpMyAdmin
1- Création des tables
Chapitre 4: Le langage PHP Les bases de données mysql
phpMyAdmin
Insertion/modification/suppression d’enregistrements
Chapitre 4: Le langage PHP Les bases de données mysql
phpMyAdmin
Ordre SQL
Chapitre 4: Le langage PHP Les bases de données mysql
L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type
de base de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL
que PostgreSQL ou Oracle.
Le gros avantage de PDO est que vous pouvez l'utiliser de la même manière pour vous
connecter à n'importe quel autre type de base de données (PostgreSQL, Oracle…).
Chapitre 4: Le langage PHP Les bases de données mysql
Les marqueurs nous permette de signaler à la requête à exécuter qu’ils seront remplacés par la valeur des variables
passées au niveau de la méthode execute.
C bout de code permet d’insérer un nouveau client dont les informations sont stockées dans les variables php $nom,
$prenom, $adresse et $CIN. Ces données peuvent être récupérées via $_POST au niveau d’un formulaire.
Chapitre 4: Le langage PHP Les bases de données mysql
Ce bout de code permet de modifier le montant du compte dont le numéro est stocké dans
$numC.
La nouvelle valeur du montant est stockée dans $m.
Ce bout de code permet de supprimer le compte du client dont le CIN est $CIN.