Vous êtes sur la page 1sur 16

Introduction à PHP

Objectifs :

 Se familiariser avec le langage PHP et acquérir une pratique minimale.


 Être capable de réaliser des scripts serveurs pour un site web en respectant les bonnes
pratiques.

 Etudier et comprendre l'utilisation d'un langage de programmation ( PHP ) et d'un


système de gestion de base de données ( MySQL) dans la réalisation de site
internet.

Pour cela, on étudiera :

 Les bases du langage PHP.


 La transmission de données
 La gestion d'une base de données.
 La POO

1. Introduction à PHP :

PHP, acronyme de Personnel Home Page, devenu Hypertext Preprocessor, plus connu sous son
sigle PHP, désigne un langage informatique orienté vers le monde de l'Internet, utilisé
principalement pour la conception de site web dynamique ou des sites "vivants"
(produire des pages Web dynamiques via un serveur HTTP).
Il a été inventé en 1994 par Rasmus Lerdorf dans le but d’améliorer un site web.

2. Définition :
 Le PHP étant un langage de script, ce qui signifie que le code est interprété et non
pas compilé comme le langage C ou C++.

Figure : Interprétation contre compilation

Rappel :
Il existe trois manières d'utiliser du code source :
 Langage compilé : le code source est donné à un programme appelé compilateur qui va
lire le code source et le convertir dans un langage que l'ordinateur sera capable d'interpréter :
c'est le langage binaire, fait de 0 et de 1. Les langages comme le C ou le C++ sont des
langages dits compilés.
 Langage précompilé : ici, le code source est compilé partiellement, généralement dans un
code plus simple à lire pour l'ordinateur, mais qui n'est pas encore du binaire. Ce code
intermédiaire devra être lu par ce que l'on appelle une « machine virtuelle », qui exécutera ce
code. Les langages comme le C# ou le Java sont dits précompilés.
 Langage interprété : dans ce cas, il n'y a pas de compilation. Le code source reste tel quel,
et si on veut exécuter ce code, on doit le fournir à un interpréteur qui se chargera de le lire et
de réaliser les actions demandées.
 PHP est également un codage open source, ce qui veut dire que l’utilisation des scripts PHP reste
ouverte à tout le monde gratuitement.

 Il s’agit d’un langage de programmation sous licence libre qui peut donc être utilisé
par n’importe qui de façon totalement gratuite.de programmation libre, principalement
utilisé pour produire des pages Web dynamiques via un serveur HTTP.
 On dit également que c’est un langage souple, car il peut s’installer sur un serveur
Apache et également sur d’autres types de serveur HTTP existant.
 Il est considéré aussi comme une des bases de la création des applications web (une
application qui s'exécute sur le serveur et génère la page dynamique). PHP a permis
de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia, etc.

 PHP est un langage impératif orienté objet.


 PHP est principalement associé à un serveur Web utilisant le protocole HTTP dans
le cadre d'une architecture client/serveur. Un serveur Web en architecture à trois
niveaux est composé d'un système d'exploitation, d'un serveur HTTP, d'un serveur de
langage et enfin d'un système de gestion de base de données (SGBD), cela constituant
une plate-forme.
 Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont
celles d'une plateforme LAMP (pour Linux Apache MySQL PHP) et WAMP
(Windows Apache MySQL PHP). Une plate-forme WAMP s'installe généralement par
le biais d'un seul logiciel qui intègre Apache, MySQL et PHP, par exemple
WampServer. Il existe le même type de logiciels pour les plates-formes MAMP
(Mac OS Apache MySQL PHP), à l'exemple du logiciel MAMP.

 Le logo considéré comme officiel de PHP est éléPHPant l'acronyme PHP sur son
côté. Il est créé en 1998 par Vincent Pontier.

 L’un des avantages du codage en PHP réside dans ses sources. En effet, on trouve
dans un script PHP, quelques notions en C, en C++, en JavaScript et tous les autres
langages informatiques. Ce qui veut dire qu’il est plus facile d’apprendre ce langage
que d’apprendre au complet un langage quelconque. Il est plus simple de se former
avec lui et de passer par un autre codage après.

Pourquoi PHP ?
PHP va nous permettre de :
 Créer des pages dynamiques (générées par le serveur à la demande).
 Gérer des bases de données, collecter des données des formulaires.
 Gérer des fichiers sur le serveur.

3. Vocabulaires : (les bases du Web )

Avant d'aborder le langage PHP, rappelons quelques définitions et concepts liés aux bases
du Web.

 Un site web dynamique est un site dont les pages peuvent être générées dynamiquement
en fonction d’une demande d’un utilisateur.

 Une page web dynamique est une page web générée à la demande, par opposition à une
page web statique.

 Le contenu d’une page web dynamique peut donc varier en fonction d’informations qui
ne sont connues qu’au moment de sa consultation ( exemple : heure, nom de l’utilisateur,
formulaire rempli par l’utilisateur, etc.). À l’inverse, le contenu d’une page web statique
est a priori identique à chaque consultation…"

 Les pages Web dynamiques offrent un contenu différent pour chaque visiteur à partir du
même fichier de code source.
 Le Web est un système client-serveur dont le fonctionnement s’apparente à des relations
client-fournisseur.
 Un site web est un ensemble de pages organisées en structure hiérarchique, disponible
sur un serveur. Il peut être construit avec des pages statiques, des pages dynamiques ou
un assemblage des deux.
 Le client est un ordinateur personnel, doté de son logiciel de navigation (Internet
Explorer, Firefox…).
 Un serveur représente les ordinateurs distants sur lesquels sont hébergés les sites web.
 Le PHP : c’est un langage que seuls les serveurs comprennent et qui permet de rendre
votre site dynamique. C’est PHP qui « génère » la page web envoyé.
 MySQL (My Structured Query Language) est un système de gestion de bases de
données relationnelles (SGBDR).

 Site Web basé sur une base de données :


o L’idée générale d’un site Web basé sur une base de données est de permettre au
contenu du site de résider dans une base de données, et que ce contenu soit extrait de
la base de données de manière dynamique pour créer des pages Web que les gens
peuvent afficher avec un navigateur Web ordinaire.

o Ainsi, à une extrémité du système, vous avez un visiteur de votre site qui utilise un
navigateur Web pour demander une page et s’attend à recevoir en retour un document
HTML standard.

o À l’autre extrémité, vous avez le contenu de votre site, qui se trouve dans une ou
plusieurs tables dans une base de données MySQL qui ne comprend que comment
répondre aux requêtes SQL (commandes).

Fonctionnement :

Voici ce qui se passe lorsqu’une personne ou un utilisateur visite une page de votre
site Web basé sur une base de données:

o Le navigateur Web du visiteur demande la page Web à l’aide d’une URL standard.

o Le logiciel du serveur Web (généralement Apache) reconnaît que le fichier demandé


est un script PHP, de sorte que le serveur lance l’interpréteur PHP pour exécuter le
code contenu dans le fichier.

o Certaines commandes PHP (qui feront l’objet des prochains cours) se connectent à la
base de données MySQL et demandent le contenu qui appartient à la page Web.

o La base de données MySQL répond en envoyant le contenu demandé au script PHP.

o Le script PHP stocke le contenu dans une ou plusieurs variables PHP, puis utilise des
instructions d’echo pour générer le contenu dans le cadre de la page Web.
o L’interpréteur PHP termine en remettant une copie du HTML qu’il a créé au
serveur Web.

o Le serveur Web envoie le HTML au navigateur Web comme un simple fichier


HTML, sauf qu’au lieu de provenir directement d’un fichier HTML, la page est la
sortie fournie par l’interpréteur PHP.

4. Fonctionnalités PHP :

PHP est un langage très populaire en raison de sa simplicité et de son open source. Voici
quelques fonctionnalités importantes de PHP :

Performance Open source

Connaissance Embarqué
de la syntaxe

Indépendant de la Contrôler
plate-forme
Fonctionnalité
Langage
Prise en charger de la De PHP faiblement typé
base de données

Rapport Sécurité
d’erreur

Prise en charge des Une communauté PHP utile


serveurs web
Performance:

Le script PHP est exécuté beaucoup plus rapidement que les scripts écrits dans
d'autres langages tels que JSP et ASP. PHP utilise sa propre mémoire, de sorte que la
charge de travail du serveur et le temps de chargement sont automatiquement réduits,
ce qui se traduit par une vitesse de traitement plus rapide et de meilleures
performances.

Open source:

Le code source et les logiciels PHP sont disponibles gratuitement sur le Web. Vous
pouvez développer toutes les versions de PHP selon vos besoins sans payer aucun
coût. Tous ses composants sont téléchargeables et utilisables gratuitement.

Connaissance de la syntaxe :

PHP a une syntaxe facilement compréhensible. Les programmeurs sont à l'aise avec le
codage.

Embarqué:

Le code PHP peut être facilement intégré dans les balises HTML et le script.

Indépendant de la plate-forme :

PHP est disponible pour les systèmes d'exploitation WINDOWS, MAC, LINUX et
UNIX. Une application PHP développée dans un système d'exploitation peut
également être facilement exécutée dans un autre système d'exploitation.

Prise en charge de la base de données :

PHP prend en charge toutes les principales bases de données telles que MySQL,
SQLite, ODBC, etc.
Rapport d'erreur -

PHP a des constantes de rapport d'erreur prédéfinies pour générer une notification
d'erreur ou un avertissement lors de l'exécution. Par exemple, E_ERROR,
E_WARNING, E_STRICT, E_PARSE.

Langage faiblement typé :

PHP nous permet d'utiliser une variable sans déclarer son type de données. Il sera pris
automatiquement au moment de l'exécution en fonction du type de données qu'il
contient sur sa valeur.

Prise en charge des serveurs Web :

PHP est compatible avec presque tous les serveurs locaux utilisés aujourd'hui comme
Apache, Netscape, Microsoft IIS, etc.

Sécurité:

PHP est un langage sécurisé pour développer le site Web. Il se compose de plusieurs
couches de sécurité pour empêcher les attaques malveillantes.

Contrôler:

Différents langages de programmation nécessitent un long script ou code, alors que


PHP peut faire le même travail en quelques lignes de code. Il a un contrôle maximal
sur les sites Web, car vous pouvez facilement apporter des modifications quand vous
le souhaitez.

Une communauté PHP utile :

Il dispose d'une grande communauté de développeurs qui mettent régulièrement à jour


la documentation, les didacticiels, l'aide en ligne. Apprendre PHP à partir des
communautés est l'un des avantages significatifs.
5. L'interprétation de la page PHP :

o Le PHP est un langage interprété, c'est-à-dire qu'il n’a pas besoin de compilation.
o PHP est interprété par un serveur afin d’afficher correctement le contenu demandé.

Figure : Fonctionnement de PHP

Fonctionnement de PHP :

1. Le client, le plus souvent un navigateur web, envoie une requête HTTP au travers d'une
URL vers un serveur.
2. Le serveur identifie la page à renvoyer.
 S'il s'agit d'un document pouvant être envoyé immédiatement, il l'envoie
 S'il s'agit d'un document nécessitant une interprétation, comme le PHP, il va
d'abord le traiter.

3. Le document PHP est alors interprété en faisant éventuellement appel à des données
externes provenant d'un serveur de bases de données. L'interprétation de la page PHP
produit un document, souvent une page HTML, fournie au serveur.

4. L'interprétation de la page PHP :

- La plupart des documents PHP comportent du code statique (code exécutable par le
client web : html, JavaScript, css, ...) imbriqué avec du code PHP. Lorsque
l'interpréteur PHP parcourt un document, les parties statiques sont renvoyées sans
traitement. Les parties dynamiques délimitées par des balises spécifiques sont
interprétées.
5. Le serveur Web renvoie ce document, cette page, au client pour affichage.

A retenir :
L'interprétation de la page PHP produit une page HTML de résultat fournie au
serveur. PHP reste invisible dans le code de la page HTML, une fois celle-ci
interprétée.

Résumé :

 Pages HTML = contenu statique


 Pages PHP = HTML + code PHP exécuté sur le serveur au moment de la requête
 produit du HTML : page dite dynamique : Le contenu renvoyé par le
Serveur peut changer selon le contexte.
 Le navigateur reçoit et interprète toujours du HTML ( un navigateur Web ne
comprend pas le PHP ) car le code PHP est évalué au niveau du serveur. C’est à dire
que PHP va générer des pages compréhensibles par les navigateurs WEB des clients,
soit de l’HTML.

Environnement de développement de PHP


Dans cette partie nous allons parler des serveurs et en particulier des serveurs locaux pour
notre besoin. A la fin de cette partie du cours, vous aurez donc chacun votre serveur local.

Pourquoi utiliser un serveur local ?

 Quand vous avez appris le HTML et bien vous avez glissé / déposé votre fichier
HTML dans votre navigateur pour voir le résultat de votre code, autrement dit, pour
coder en HTML et en CSS aussi et afficher le résultat un simple éditeur de texte et un
navigateur suffisent. Le fichier HTML était un fichier statique non dynamique c'est-à-
dire que les données ne vont pas être amené à changer à part ou sauf si vous modifiez le
code source. Le code en HTML va s’exécuter coté client.
 La différence c’est que avec PHP, on va générer ou on va écrire notre code source ou
les données qui vont y être affiché vont changer selon ce qui se trouve dans la base de
données et ça on ne peut le faire avec un simple glisser / déposer dans le navigateur,
cette méthode ne va pas nous afficher notre site internet. C’est pour ça il nous faut un
serveur qui va s’occuper de faire des requêtes à PHP et MYSQL. Cependant pour le
PHP et le Mysql, cela va être un peu plus complexe car le code va s’exécuter coté
serveur.

 Lorsque l’on code, on peut travailler soit :

 En local,
 En production,

 En pré-production.

Travail en local Travail en production Travail en pré-production

Nous sommes les seuls à Si l’on fait la moindre On appelle « pré-production » une copie
avoir accès à nos différents modification en production, d’un site également hébergée sur serveur.
fichiers et donc les seuls à cela impacte directement
voir l’impact des notre site live et nos visiteurs
modifications que l’on fait le voient immédiatement. Dans le cas où le site est déjà créé ( et
sur ces fichiers. héberger sur un serveur) et accessible à
tous, alors nous ferons une copie locale de
C’est-à-dire sur des fichiers toute notre architecture et travaillerons sur
C’est-à-dire en hébergeant qui sont hébergés sur un cette copie afin de tester et d’implémenter
nous-mêmes tous les fichiers serveur distant et de nouvelles fonctionnalités. Ensuite, une
sur nos propres machines ou potentiellement accessible à fois seulement qu’on s’est assuré que les
encore « hors ligne » tous ou en « live ». différentes modifications ou
implémentations fonctionnent et qu’aucun
bug n’a été détecté, nous enverrons tous
nos changements en production, c’est-à-
dire que nous remplacerons les fichiers ou
injecteront les modifications sur le serveur.

Conseil :

Lors de la phase de développement d’un site ou dans des phases de test ou de débogage et
sauf cas exceptionnels, un bon développeur préférera toujours travailler en local (ou
éventuellement en pré-production) afin de ne pas impacter le fonctionnement normal d’un
site web. Dans ce cas Il va donc nous falloir recréer une architecture serveur sur nos propres
machines avec les logiciels adaptés afin de pouvoir tester nos codes PHP.

A retenir :
 Pour développer votre site web et toutes vos applications PHP, il est beaucoup plus
pratique d’avoir votre serveur web en local  Travailler en local avant de mettre son
site en ligne à la vue de tous.

 Recréer une architecture serveur sur votre ordinateur :

 Un serveur dispose de différents programmes lui permettant de lire et de comprendre


certains langages informatiques que des ordinateurs « normaux » ne peuvent pas lire.
 Techniquement, un serveur Web c’est un logiciel qui possède un répertoire dans lequel
on peut enregistrer les fichiers de son propre site Web. Donc on peut très bien
configurer un serveur Web chez soi, de préférence sur un ordinateur qui sera dédié à
cette fonction.

 Comme le code PHP va s’exécuter côté serveur, donc pour que votre ordinateur
puisse lire le script PHP, il faut qu'il se comporte comme un serveur. Il suffit
simplement dans ce cas d'installer les mêmes programmes que ceux que l'on trouve sur
les serveurs qui délivrent les sites web aux internautes. Ces programmes vont servir
pour tester nos codes PHP et Mysql. Il existe des logiciels regroupant tous les
programmes nécessaires pour faire cela.
 Quels sont les logiciels regroupant tous les programmes nécessaires pour
tester nos codes PHP et MySQL et que vous devez installer ?

Selon le système que vous utilisez, vous devrez installer un logiciel différent. Vous pouvez
trouver ci-dessous le logiciel à installer selon votre système :

Si vous êtes sous Windows, vous allez installer WAMP (« W » signifie Windows).

Si vous êtes sous Mac OS, vous allez installer MAMP(« M » de MAMP, Mac.)

Si vous êtes sous Linux, vous allez installer XAMPP (« L » de LAMP signifie Linux ).

NB : L’initiale « X » de XAMPP : représente tous les systèmes d’exploitation possibles, à

savoir Linux, Windows et Mac OS X.

Exemple : WAMP Chaque lettre défini un service différent comme suit :

 « W » : signifie Windows,

 « A » : veut dire Apache.

 « M » signifie MySQL.

 « P » veut dire PHP

Apache : ( serveur web)

Le serveur Apache est un logiciel libre open source qui est initialement développé par un
groupe de développeurs de logiciels et maintenant il est maintenu par Apache Software
Fondation. Apache HTTP est un serveur distant (ordinateur) si quelqu'un demande des
fichiers, des images ou des documents en utilisant son navigateur, il servira ces fichiers aux
clients utilisant des serveurs HTTP. Principalement les sociétés d'hébergement utilisent cette
application pour créer un serveur. Cependant, Apache ne gère que les sites web statiques (il ne
peut traiter que des pages HTML). Il faut donc le compléter avec d'autres programmes.

PHP : ( interpréteur de script )

Il s’agit d’un langage script côté serveur permettant de créer des pages Web ou
applications dynamiques. PHP peut être mis en place sur toutes les plateformes possibles et
est compatible avec divers systèmes de base de données.
 En combinant donc Apache et PHP, notre ordinateur sera capable de lire des
pages web en PHP et communique avec la base de données MySQL. Cela
permet de créer un site dynamique.

MySQL : ( serveur de base de données )

MYSQL est un logiciel open source. C'est en fait un système de gestion de base de
données relationnelle (SGBDR). Ce SQL est synonyme de langage de requête structuré.
C'est le SGBDR le plus populaire et le mieux utilisé pour développer une variété
d'applications logicielles basées sur le web. Avec l'aide de MYSQL, il est possible
d'organiser les informations, gérer, récupérer et mettre à jour les données quand vous le
souhaitez.
Donc, avant de commencer à écrire un programme PHP, vous devez installer les
programmes suivants sur votre ordinateur.

- Le serveur Web Apache


- Le moteur PHP
- Le serveur de base de données MySQL

 Vous pouvez soit les installer individuellement, soit choisir un package pré-configuré pour
votre système d’exploitation comme Linux et Windows. Les packages pré-configurés les
plus courants sont XAMPP et WampServer (Nous allons utiliser WampServer sous
Windows )
 WampServer (anciennement WAMP5) est une plateforme de développement Web de
type WAMP qui s’exécute sous windows, permettant de faire fonctionner localement (sans
avoir à se connecter à un serveur externe) des scripts PHP.

WampServer n'est pas en soi un logiciel, mais un environnement comprenant trois


serveurs (Apache, MySQL et MariaDB), un interpréteur de script (PHP), ainsi
que phpMyAdmin pour l'administration Web des bases MySQL.

Il dispose d'une interface d'administration permettant de gérer et d'administrer ses serveurs


au travers d'un tray icon (icône près de l'horloge de Windows).

La grande nouveauté de WampServer 3 réside dans la possibilité d'y installer et d'utiliser


n'importe quelle version de PHP, Apache, MySQL ou MariaDB en un clic.

Ainsi, chaque développeur peut reproduire fidèlement son serveur de production sur sa
machine locale. Le site officiel du téléchargement du WampServer
est : http://www.wampserver.com/fr/

Vous aimerez peut-être aussi