Vous êtes sur la page 1sur 51

Cycle : BTS

Niveau : 2
Support de cours

Programmation web II

ANNEE ACADEMIQUE 2023-2024


PLANNING DE DEROULEMENT DU COURS

ENSEIGNANT

Nom (s) et prénom (s) : KOUEMO NGUEGOUE Joël


Grade ou Qualification : Ingénieur Informaticien et PLEG en Informatique fondamental
Téléphone : 680034130 / 694538869

Courriel : kouemojoel@gmail.com

Quotas horaire semestriel prévus : 30 heures


Volume horaire hebdomadaire prévu : 08 heures
Volume horaire mensuel prévu : 30 heures
Jour hebdomadaire de cours : Vendredi

Objectifs du cours

A la fin de ce cours l’étudiant doit être capable de :

1. Qu’est-ce que le web ?


2. Installation et configuration d’un serveur web (WampServer/EasyPHP)
3. Notion d’internet, intranet et extranet;
4. Présentation des outils de développement web
5. Le projet Apache ;
6. MySQL, quelques concepts
7. Le langage PHP
APPROCHE PEDAGOGIQUE
L’approche pédagogique est conçue pour impliquer l’étudiant dans la construction et l’utilisation des savoirs.
Ce planning transmis à l’étudiant lui permet de préparer chaque séance de cours. Des travaux à faire lui sont donnés
à la fin de chaque cours afin d’assimiler l’unité d’enseignement.
Diverses stratégies peuvent être utilisées dont : l’enseignement magistral interactif, les exercices pratiques, la mé-
thode des cas, l’apprentissage par problèmes, le réseau de concepts etc.
Seuls les étudiants ayant préparé leur séance de cours ont accès en salle de classe.

DEROULEMENT DES EXERCICES ET CAS PRATIQUES


Hormis les exercices d’application une liste d’exercices est intégrée à l’annexe du cours.
A chaque séance l’étudiant a droit aux exercices / TP à faire en salle, à la maison ou en équipe.
Le(s) contrôle(s) continu(s) et l’examen final comptent chacun pour 50% de la note finale
Le contrôle continu est constitué de :
- La présence et participation en salle ;
- L’évaluation en salle ;
- Travaux à faire à la maison ;
- Les travaux d’équipes.

NB : Les travaux dirigés ou pratiques doivent être remis au début du cours ou envoyés par courrier électro-
nique.

CONTENU DE L’ENSEIGNEMENT

CHAPITRE I : Notion de base sur le site web dynamique

CHAPITRE II : Configuration d’un environnement intégré de développement web

CHAPITRE III : Programmation en PHP

CHAPITRE IV : PHP et Base de données


COURS Programmation web II

Table des matières


CHAPITRE 1 : NOTION DE BASE SUR LE SITE WEB DYNAMIQUE ........................................................6
INTRODUCTION ..............................................................................................................................................6
I. DEFINITIONS ............................................................................................................................................6
II. PAGE WEB .............................................................................................................................................6
1. Pages web statiques ..................................................................................................................................6
2. Pages web dynamiques .............................................................................................................................7
3. Caractéristiques d’une page web ............................................................................................................7
III. SITE WEB DYNAMIQUE ...................................................................................................................7
1. Pourquoi les sites web dynamiques ? ......................................................................................................8
2. Avantages des sites web dynamiques ......................................................................................................8
3. Inconvénients des sites web dynamiques ................................................................................................8
4. Mis à jour des données .............................................................................................................................9
5. Eléments d’un site web dynamique.........................................................................................................9
IV. DIFFERENTIATION DES TERMES INTERNET ET INTRANET ET EXTRANET ......... 10
1. Internet : Un réseau ouvert .................................................................................................................... 10
2. Intranet : Un réseau interne ................................................................................................................... 10
3. Extranet : Un réseau privé ..................................................................................................................... 11
CHAPITRE 2 : CONFIGURATION D’UN SERVEUR .................................................................................... 12
WEB........................................................................................................................................................................ 12
INTRODUCTION ............................................................................................................................................. 12
I. LE SERVEUR WEB ................................................................................................................................. 13
1. Définition ................................................................................................................................................ 13
2. Rôle ......................................................................................................................................................... 13
3. Fonctionnement d’un serveur web....................................................................................................... 13
4. Rôle du protocole http dans une page web .......................................................................................... 14
5. Configuration ......................................................................................................................................... 15
II. SERVEUR DE DONNEES ................................................................................................................... 17
1. Définition ................................................................................................................................................ 17
2. Rôle ......................................................................................................................................................... 17
3. Caractéristiques ..................................................................................................................................... 18
4. Configuration ......................................................................................................................................... 18
III. Fonctionnement d’un serveur web couplé à un serveur de données................................................. 18
IV. CAS PRATIQUE A L’AIDE D’EasyPHP / WampServer ................................................................. 20
1. WAMPSEVER : Environnement intégrés de développement web ................................................... 20
2. Quelques exemples d’environnement intégré de développement web .............................................. 20
Proposé par : Ing. KOUEMO Nguégoué Joël 4
COURS Programmation web II

3. Installation et exploration de WAMPSERVER (TP) ........................................................................ 21


CHAPITRE 3 : INITIATION AU PHP............................................................................................................... 22
I. PRESENTATTION DE PHP ................................................................................................................... 22
1. Définition ................................................................................................................................................ 22
2. Historique du PHP ................................................................................................................................ 22
3. Intérêt de PHP ....................................................................................................................................... 22
II. SYNTAXE ET UTILISATION DU PHP ............................................................................................ 23
1. Insertion d’un script PHP ..................................................................................................................... 23
2. Les différents types de commentaires .................................................................................................. 23
3. Les variables et constantes .................................................................................................................... 24
4. Les opérateurs en PHP .......................................................................................................................... 25
III. LES STRUCTURES DE CONTROLE EN PHP ................................................................................ 30
1. Les structures de contrôle conditionnelles en PHP ............................................................................ 30
2. L’opérateur ternaire et les structures conditionnelles ternaires ....................................................... 33
3. L’instruction switch en PHP ................................................................................................................. 34
4. Les boucles PHP et les opérateurs d’incrémentation et de décrémentation .................................... 35
IV. LES TABLEAUX EN PHP ................................................................................................................... 40
1. Présentation des tableaux et tableaux numérotés en PHP ................................................................. 40
V. RECUPERER ET MANIPULER LES DONNEES DES FORMULAIRES HTML EN PHP ........... 41
VI. INCLURE DES FICHIERS DANS UN AUTRE EN PHP AVEC « INCLUDE » ET « REQUIRE »
43
VII. INTRODUCTION AUX FONCTIONS PHP ...................................................................................... 44
1. Les fonctions définies par l’utilisateur en PHP................................................................................... 44
2. Les Fonctions Standard en PHP........................................................................................................... 45

Proposé par : Ing. KOUEMO Nguégoué Joël 5


COURS PROGRAMATION WEB II

CHAPITRE 1 : NOTION DE BASE SUR LE SITE WEB


DYNAMIQUE

INTRODUCTION

L’accès à l’information, n’est pas du tout une chose facile, compte tenu de la distance séparant
les villes, les structures... L’élaboration de nouvelles technologies, facilite de plus en plus la
visualisation de l’information et surtout la rapidité d’accès à celle-ci qui est le Web. Le Web, ou
World Wide Web (toile d'araignée mondiale) en français, est un système d'information basé sur
l'internet qui permet d'accéder à une vaste quantité de ressources et de documents liés entre eux.
Il a été inventé par Sir Tim Berners-Lee en 1989. Il repose sur le protocole HTTP, les URL,
HTML, CSS et JavaScript. Le Web permet aux utilisateurs de naviguer entre les pages web,
d'accéder à des sites web, de partager des informations et de communiquer en ligne. Il offre une
multitude de services tels que le commerce électronique, les médias sociaux et les applications
web. Le Web est devenu une ressource essentielle pour l'accès à l'information et la communication
à l'échelle mondiale.

I. DEFINITIONS

Un site en informatique est un ensemble de documents formant un tout.


Un site web est un ensemble de pages reliées par les liens hypertextes auquel on accède sur le web
par une ou plusieurs adresses qui lui sont propres.

II. PAGE WEB

Une page web est une ressource du WWW (World Wide Web) possédant une adresse et
des données et conçue pour être consultée ou téléchargée par des visiteurs à l’aide d’un navigateur
web. On distingue deux types de page web à savoir les pages web statiques et les pages web
dynamiques.
1. Pages web statiques
On entend par page web statique, non pas une page sans mouvements ou sans animations,

Proposé par : Ing. KOUEMO Nguégoué Joël 6


COURS PROGRAMATION WEB II

mais une page html visible telle qu’elle a été conçue c’est-à-dire que le contenu d’une page web
statique est à priori identique à chaque consultation. Ces pages peuvent présenter toute forme de
contenus, animations flash, images, musiques, vidéos etc... Mais elles sont toujours présentées de
la même façon. Elles ne changent pas et c’est en ce sens qu’elles sont statiques. En d’autres termes,
le fond (contenu) et la forme (présentation) ne sont pas dissociables.

2. Pages web dynamiques


Une page web dynamique est une page web générée à la demande ; par opposition à une
page web statique, les pages dynamiques permettent de présenter les informations de différentes
manières selon l’interaction avec le visiteur. C’est-à-dire que c’est lorsque la page dynamique est
demandée qu’elle est conçue. Le contenu d’une page web dynamique peut donc varier en fonction
d’informations (heure, nom de l’utilisateur, formulaire rempli par l’utilisateur, etc.) qui ne sont
connues qu’au moment de sa consultation. Sa forme et son fond sont dissociables.

3. Caractéristiques d’une page web


Techniquement, une page Web est constituée d’une ou plusieurs ressources distinctes du
World Wide Web. La principale ressource est généralement un document écrit dans le langage
informatique HTML et contenant une adresse Web, du texte et d’autres ressources comme: des
images, des animations, du son, des applets et des documents inclus. Ceci permet d’intégrer dans
une page web des ressources provenant de n’importe quel serveur Web. Parfois une ressource à
intégrer n’est pas accessible, et la page doit être consultée sans être complètement chargée.

III. SITE WEB DYNAMIQUE


C’est un site composé d’au moins une page web dynamique ; le contenu des pages n’est pas
figé mais variable en fonction de l’heure, du visiteur ou d’autres paramètres ; ces pages sont écrites
en un langage de programmation web à l’instar du PHP. Dans le cadre d’un site dynamique, le
contenu et la présentation des pages peuvent être gérés indépendamment. Ainsi, le webmaster
définit un modèle de présentation dans lequel peut s’afficher dynamiquement un contenu, extrait
le plus souvent d’une base de données. Les modifications à apporter au site sont ainsi plus légères
puisqu’elles ne nécessitent l’accès qu’à un seul fichier ou au texte présent dans une base.

Proposé par : Ing. KOUEMO Nguégoué Joël 7


COURS PROGRAMATION WEB II

1. Pourquoi les sites web dynamiques ?


Dans la vie, il y a plusieurs façons de concevoir les choses : soit l’on fait du 100% original et
l’on recommence à chaque fois de zéro, soit l’on met en place des outils qui automatisent les
actions de bases et l’on change quelques paramètres de ces outils pour leur faire réaliser le résultat
original voulu. Un site dynamique fonctionne sur ce second schéma. On part du principe que pour
réaliser son site web qui comportera 100, 10 000, 100000 pages on ne réalisera pas chacune d’entre
elles de zéro. Grâce à un langage de programmation (qui peut être le PHP), on aura plus besoin
de créer 100 000 pages mais on créera un modèle identique pour les 100000 pages et l’on viendra
compléter ce modèle dynamiquement avec les informations qui caractérisent chacune des pages
web finales et qui les rendent originales. Dans ce fonctionnement, seul le modèle existe
physiquement. Les 100 000 pages web finales ne sont que la superposition, en temps réel, suivant
la demande de celui qui parcoure le site.
2. Avantages des sites web dynamiques
Les sites web dynamiques apportent plusieurs avantages face aux problèmes rencontrés avec les
sites web statiques. Ces avantages sont :
 La mise à jour des sites dynamiques tant sur le fond que sur la forme est facilitée ;
 Le site dynamique permet d’intégrer des fonctions de personnalisation ;
 les contenus affichés dans chacune des pages peuvent être sélectionnés en fonction de
différents paramètres : numéro d’article, heure de la journée, etc. ;
 Il est également possible que ce contenu soit créé en direct par différents utilisateurs du site
 les sites dynamiques permettent la gestion d’une communauté d’utilisateurs, le profil de
chacun d’eux pouvant être considéré comme un élément à afficher ou un paramètre à
utiliser pour personnaliser le contenu des pages et sécuriser la page de chaque utilisateur.
3. Inconvénients des sites web dynamiques
Cette architecture peut en revanche se révéler :
 Coûteuse à mettre en place ;
 Délicate à piloter notamment au niveau de l’hébergement ;
 Peu performante au niveau du référencement.

Proposé par : Ing. KOUEMO Nguégoué Joël 8


COURS PROGRAMATION WEB II

4. Mis à jour des données


Une fois le site créé par le webmaster, la mise à jour des don- nées, très simple, se fait dans un
espace privé appelé back-office par l’administrateur du site. Il est chargé d’assurer la sécurité et
la disponibilité des données qui seront mis à la disposition des utilisateurs qui accèdent en Front-
Office, l’administrateur bénéficie alors d’une autonomie complète pour sa gestion quotidienne.
Le schéma suivant est une représentation de ce mécanisme.

Figure1: Mécanisme de mise à jour des données dans un site web dynamique.
Front-office : c’est la partie d’un site web accessible aux utilisateurs finaux.
Back-office : c’est la partie d’un site web accessible uniquement à l’administrateur de ce site.
Webmaster : gestionnaire d’un site web.

5. Eléments d’un site web dynamique


Pour rendre dynamiques les pages d’un site web, elles nécessitent l’utilisation d’un ensemble de
machines, de logiciels et de langages de programmation à savoir :

 Une base de données qui sera chargée de stocker les données du site afin de permettre leur
réutilisation. Elle sera manipulée à l’aide du langage SQL ;
 Un serveur de données chargé de gérer la base de données ; c’est ce serveur qui donnera la
possibilité d’accéder à la base de données et d’y récupérer les données pour créer
dynamiquement les pages web ;

Proposé par : Ing. KOUEMO Nguégoué Joël 9


COURS PROGRAMATION WEB II

 Un serveur web qui sera chargé d’exécuter les codes PHP pour créer un fichier HTML ;
 Le langage PHP qui est le langage de programmation des sites web dynamiques.

IV. DIFFERENTIATION DES TERMES INTERNET ET


INTRANET ET EXTRANET
Internet est un réseau mondial accessible au public, l'intranet est un réseau privé utilisé à
l'intérieur d'une organisation et l'extranet est une extension sécurisée de l'intranet permettant un
accès limité à des utilisateurs externes autorisés. Chacun de ces réseaux a des objectifs et des
fonctionnalités spécifiques pour répondre aux besoins de communication et de collaboration des
organisations.

1. Internet : Un réseau ouvert


 Internet est un réseau mondial qui relie des millions d'ordinateurs et de réseaux à travers
le monde.
 Il fonctionne grâce à une infrastructure de communication mondiale, composée de câbles,
de routeurs, de serveurs et d'autres équipements réseau.
 Internet utilise le protocole TCP/IP pour permettre l'acheminement des paquets de données
et la communication entre les différents appareils connectés.
 Il offre une large gamme de services et de ressources accessibles au public, tels que les
sites Web, le courrier électronique, les médias sociaux, les services de streaming, les
services de cloud, etc.
 Internet est ouvert à tous et ne nécessite pas d'autorisations spéciales pour y accéder.

2. Intranet : Un réseau interne

 Un intranet est un réseau privé utilisé à l'intérieur d'une organisation, tel qu'une entreprise,
une institution ou une organisation gouvernementale.
 Il est généralement accessible uniquement aux employés, aux membres ou aux personnes
autorisées de l'organisation.

Proposé par : Ing. KOUEMO Nguégoué Joël 10


COURS PROGRAMATION WEB II

 L'intranet utilise des technologies similaires à celles d'Internet, telles que les protocoles
TCP/IP, les serveurs Web et les navigateurs, mais avec des mesures de sécurité
supplémentaires pour limiter l'accès aux ressources internes.
 Il permet aux membres de l'organisation de partager des informations, de collaborer,
d'accéder à des bases de données internes, à des applications spécifiques à l'organisation, à
des documents partagés, à des calendriers, à des outils de communication, etc.
 Les intranets peuvent également inclure des portails internes, des forums de discussion,
des outils de gestion des connaissances et d'autres fonctionnalités spécifiques à
l'organisation.

3. Extranet : Un réseau privé


 Un extranet est une extension d'un intranet qui permet un accès limité à des utilisateurs
externes autorisés.
 Il permet à une organisation de partager des informations, des ressources et de collaborer
avec des partenaires commerciaux, des fournisseurs, des clients ou d'autres parties
prenantes externes de manière sécurisée.
 L'extranet utilise des mécanismes de sécurité tels que l'authentification, les autorisations
et le chiffrement pour contrôler l'accès aux ressources spécifiques de l'organisation.
 Il peut être utilisé pour faciliter l'échange de données, l'accès à des outils de collaboration,
la gestion de projets communs, la coordination logistique, etc.
 Les utilisateurs externes peuvent se connecter à l'extranet à l'aide d'identifiants et de mots
de passe fournis par l'organisation, leur permettant d'accéder aux ressources spécifiques
qui leur sont attribuées.

Proposé par : Ing. KOUEMO Nguégoué Joël 11


COURS PROGRAMATION WEB II

CHAPITRE 2 : CONFIGURATION D’UN SERVEUR


WEB

INTRODUCTION

Pour échanger des informations sur le net, un utilisateur a besoin d’effectuer des demandes
sur une machine serveur, et grâce aux protocoles qui régissent les règles de communication sur
internet, cela est possible. Mais avant tout échange, il faudrait au préalable avoir installé et
configuré un serveur web dans une machine. La configuration d'un serveur web est une étape
fondamentale pour héberger et diffuser des sites web et des applications en ligne. Un serveur web
permet de répondre aux requêtes des utilisateurs, de traiter les fichiers et de fournir le contenu
demandé via le protocole HTTP. Ce cours se concentre sur la configuration d'un serveur web en
utilisant WampServer, un logiciel tout-en-un largement utilisé pour héberger et développer des
sites web localement. Nous commençons par l'installation et la configuration de WampServer, en
mettant l'accent sur les composants essentiels tels qu'Apache, MySQL et PHP. La gestion des
bases de données est également abordée en détail, en utilisant l'interface conviviale de
phpMyAdmin pour créer, gérer et manipuler les bases de données MySQL. Nous apprenons à
exécuter des requêtes SQL et à importer/exporter des données. Enfin, nous explorons les
fonctionnalités avancées de WampServer, telles que la configuration de l'interpréteur PHP, l'accès
aux fichiers et répertoires du projet, et l'intégration d'autres technologies web. Ce cours offre aux
développeurs web, débutants ou expérimentés, les connaissances et les compétences nécessaires
pour configurer et utiliser efficacement WampServer comme environnement de
développement web intégré. En suivant les étapes et les bonnes pratiques présentées, les
étudiants seront en mesure de développer, tester et déployer des sites et applications web
localement avec succès.

Proposé par : Ing. KOUEMO Nguégoué Joël 12


COURS PROGRAMATION WEB II

I. LE SERVEUR WEB
1. Définition
Un serveur est un programme ou une machine qui offre un service à un client en répondant
à des demandes envoyées par ce dernier.

Un serveur web ou serveur HTTP est un logiciel permettant de rendre accessible les pages
web d’un site.

2. Rôle
Un serveur web ou serveur HTTP est un logiciel servant des requêtes respectant le protocole
de communication client/serveur HyperText Transfer Protocol (HTTP), qui a été développé pour
le World Wide Web. Un ordinateur sur lequel fonctionne un serveur HTTP est appelé serveur
Web. Le terme «serveur Web » peut aussi désigner le serveur HTTP (le logiciel) lui-même. Les
deux termes sont utilisés pour le logiciel car le protocole HTTP a été développé pour le Web et
les pages Web sont en pratique toujours servies avec ce protocole. D'autres ressources du Web
comme les fichiers à télécharger ou les flux audio ou vidéo sont en revanche fréquemment servies
avec d'autres protocoles

Quelques Exemples de serveur web :

 Apache HTTP Server de la Apache Software Foundation,


 Internet Information Services (IIS) de Microsoft,
 Oracle Java System Web Server de Oracle,
 Zeus Web Server de Zeus Technology ;
 Lighttpd de Jan Kneschke ;
 Nginx d’Igor Sysoev ;
 Cherokee de Alvaro López Ortega.

3. Fonctionnement d’un serveur web


Le serveur web contient des fichiers qui seront consultés par des utilisateurs du site. L’accès
à un fichier du serveur web se fait soit en entrant directement son adresse Web dans un navigateur
Web ou client web, soit en suivant un hyperlien se trouvant dans une autre page. Ainsi, un serveur
web fonctionne comme suit :

Proposé par : Ing. KOUEMO Nguégoué Joël 13


COURS PROGRAMATION WEB II

 En tapant l’URL d’un document, l’internaute envoie (via le navigateur) une requête au
serveur;
 Une connexion s’établit entre le client et le serveur sur le port 80 (port par défaut d’un
serveur Web);
 Le navigateur envoie une requête demandant l’affichage d’un document ;
 Le serveur web répond à la requête en envoyant une réponse HTTP (le document demandé
par le client);
 Une fois la réponse reçue par le client, la connexion est fermée.

NB : Pour afficher une nouvelle page du site, une nouvelle connexion doit être établie.

Figure 2: Echange client-serveur dans l’exécution d’une requête http


Ainsi, lorsque l’utilisateur entre l’adresse d’une page web dans l’url du navigateur web et valide,
une requête est envoyée au serveur web qui traitera la requête, construira la réponse (page web)
et enverra cette page au client qui sera affichée par le navigateur. Le traitement de la requête est
effectué selon le protocole http présenté dans le para- graphe suivant.

4. Rôle du protocole http dans une page web


HTTP (HyperText Transfer Protocol ou protocole de transfert hypertexte) a été inventé par Tim
Berners-Lee pour le World Wide Web (WWW). Http est un protocole de communication client-

Proposé par : Ing. KOUEMO Nguégoué Joël 14


COURS PROGRAMATION WEB II

serveur qui utilise le protocole TCP/IP pour le transport des données et la connexion entre le client
et le serveur. Un serveur HTTP utilise alors par défaut le port 80. Les clients HTTP les plus connus
sont les navigateurs Web permettant à un utilisateur d’accéder à un serveur contenant les
données.

Le principe de base est une connexion de type client/serveur : un client (le navigateur) se connecte
sur un serveur, émet une requête et le serveur traite la requête en effectuant les opérations
suivantes :

 décodage de la requête ;
 localisation du fichier web ;
 construit la réponse ;
 envoie de la réponse au client.

Le schéma suivant donne une illustration du fonctionnement du protocole http dans l’exécution
d’une requête

Figure 3 : fonctionnement du protocole http dans l’exécution d’une requête

5. Configuration
La configuration d’un server se fait de manière simple et ce via un seul et unique fichier de
configuration. Le nom du fichier de configuration du serveur web termine le plus souvent par «
.conf » (un fichier texte qui pourra être édité) et est situé dans le répertoire de configuration le
plus souvent portant le nom « configuration » ou « conf ».

Proposé par : Ing. KOUEMO Nguégoué Joël 15


COURS PROGRAMATION WEB II

Ce fichier contient les principaux éléments pour faire en sorte que notre serveur web tourne sans
encombre en modifiant certains paramètres.

NB : Une modification dans ce fichier peut rendre indisponible le serveur web.

a. Modification du répertoire racine


Le répertoire racine contient le fichier de configuration et représente le dossier dans lequel
devra être placé les fichiers web pour être pris en compte par le serveur. Son nom varie d’un
serveur à un autre.

Exemple : le fichier de configuration sur apache se nomme httpd.conf et se trouve dans le


répertoire racine conf.

Si l’on ne souhaite pas utiliser le répertoire de base Par défaut (le répertoire racine) du
serveur pour vos documents web, il est possible de le modifier. Pour le faire, il suffit de repérer
le paramètre « DocumentRoot » dans le fichier de configuration ; puis modifier comme ceci :

DocumentRoot "chemin du nouveau répertoire"

Exemple : Pour définir le répertoire c:/wamp/www comme répertoire racine, il suffit


d'ouvrir le fichier de configuration ; puis repérer le paramètre DocumentRoot ; puis modifier
de façon à obtenir : DocumentRoot "c:/ wamp /www"

Proposé par : Ing. KOUEMO Nguégoué Joël 16


COURS PROGRAMATION WEB II

b. Définition du fichier de base


Si l’on souhaite indiquer les fichiers qui seront traités comme des fichiers de base du serveur
web, c’est-à-dire la page qui sera exécutée par défaut dans un projet, nous pouvons modifier
pour cela le paramètre DirectoryIndex du fichier de configuration en tapant la commande :

DirectoryIndexnom du fichier index

Ainsi, toutes les pages qui se nomment index.html, index.html, index. php ou index.php5 seront
prises en compte par le serveur web comme page web par défaut d’un site web.

II. SERVEUR DE DONNEES


1. Définition
Le serveur de base de données est un serveur qui permet le stockage et la manipulation
(recherche, tri, ajout, modification et suppression) des données contenues dans les bases de
données partagées entre les clients.

2. Rôle
En fait, le serveur de base de données fait partie d’un système de gestion de base de
données (SGBD). C’est le logiciel qui manipule une base de données et qui permet d’organiser,
de contrôler, de consulter et de modifier les bases de données. Nous en distinguons une
multitude de serveurs de Base de Données.

Exemple de serveur de BD : Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Oracle,


SQL Server, Inter base, Sybase, IBM DB2…

Proposé par : Ing. KOUEMO Nguégoué Joël 17


COURS PROGRAMATION WEB II

3. Caractéristiques
En plus des caractéristiques citées dans les SGBD, les serveurs de Base de Données ont pour
caractéristiques :

 La rapidité d’accès aux données : c’est le temps mis par un serveur pour retrouver une
données dans une BD ;
 La robustesse : elle définit la capacité d’un serveur à résister aux erreurs ;
 Le nombre d’utilisateurs : certains serveurs de BD ont la possibilité de gérer
simultanément plusieurs utilisateurs tandis que d’autres n’en ont pas ;
 La portabilité : ainsi, nous avons des serveurs qui peuvent être utilisés sur plusieurs
systèmes d’exploitation tandis que d’autres ne le sont que sur un seul système
d’exploitation.

4. Configuration
Comme tout serveur, un serveur de données doit être configuré pour assurer ses
fonctionnalités. La configuration d’un serveur de don- nées consiste à lui attribuer un nom
d’utilisateur ou adresse et un mot de passe qui vous permettra plus tard de vous connecter.
La configuration d’un serveur de données diffère d’un serveur à un autre.

III. Fonctionnement d’un serveur web couplé à un serveur de


données
Un site web dynamique nécessite pour son fonctionnement une base de données pour le
stockage des données du site permettant ainsi la reconstitution des pages web dynamiques.
Cette BD est géré par un serveur de données qui fonctionnera en collaboration avec le serveur
web. Ainsi, après le traitement de la requête, le serveur web va demander au serveur de
données de lui envoyer les données nécessaires pour la constitution de la page web dynamique.
Dès lors, le traitement de la requête d’une page web dynamique s’effectue comme suit : A
partir de la demande du client, le serveur interroge une base de données, interroge, récupère
les données souhaitées récupère les données souhaitées, construit la page, la retranscrit en
HTML, puis la renvoie au client.

Proposé par : Ing. KOUEMO Nguégoué Joël 18


COURS PROGRAMATION WEB II

 Le client (navigateur) envoie une requête ;


 Le serveur web transmet la requête au serveur de données via le Langage PHP;
 Le serveur de données met à jour la BD, l’interroge et récupère les données souhaitées et les
renvois au serveur web ;
 Le serveur web construit la page, la retranscrit en HTML, puis la renvoie au client.

Le schéma suivant est une illustration de ce fonctionnement.

Figure3: Fonctionnement d’un serveur web couplé à un serveur de données

REMARQUE : Une illustration de l’installation d’un serveur web et de données vous sera
présentée dans le cas pratique.

Proposé par : Ing. KOUEMO Nguégoué Joël 19


COURS PROGRAMATION WEB II

IV. CAS PRATIQUE A L’AIDE D’EasyPHP / WampServer

1. WAMPSEVER : Environnement intégrés de développement web


En regroupant Apache, MySQL et PHP, WampServer fournit un environnement complet pour
développer, tester et exécuter des applications web localement sur votre machine. Il offre une
configuration pré-packagée et simplifiée, ce qui facilite l'installation et la configuration de ces
composants interdépendants. Cela vous permet de travailler efficacement en fournissant un
serveur web local où vous pouvez développer et tester vos sites web avant de les déployer sur un
serveur distant. De plus, WampServer propose une interface conviviale qui permet de gérer
facilement les services Apache et MySQL, ainsi que les paramètres de configuration.

En résumé, WampServer regroupe Apache, MySQL et PHP pour créer un environnement de


développement web intégré, offrant une solution complète et pratique pour développer des
applications web localement.

2. Quelques exemples d’environnement intégré de développement web


Il existe différents types d'environnements de développement web intégrés, mais parmi les plus
connus, on retrouve :

 EasyPHP : est un environnement de développement web pour Windows. Il regroupe le


serveur web Apache, la base de données MySQL, le langage de programmation PHP et
PhpMyAdmin (outil de gestion de base de données).
 WampServer : est un acronyme qui représente "Windows, Apache, MySQL, PHP". C'est
un environnement de développement web spécifiquement conçu pour les utilisateurs de
Windows.
 XAMPP : est un acronyme qui représente "X" pour n'importe quel système d'exploitation
(Windows, Linux, macOS), "Apache" (serveur web), "MySQL" (base de données), "PHP"
(langage de programmation) et "Perl" (langage de script).
 MAMP : est un acronyme pour "Macintosh, Apache, MySQL, PHP". C'est un
environnement de développement web spécifiquement conçu pour les utilisateurs de Mac.

Proposé par : Ing. KOUEMO Nguégoué Joël 20


COURS PROGRAMATION WEB II

 LAMP : est un acronyme qui représente "Linux, Apache, MySQL, PHP". C'est un
ensemble d'outils open source couramment utilisés pour créer un environnement de
développement web sur des systèmes Linux.

3. Installation et exploration de WAMPSERVER (TP)

Proposé par : Ing. KOUEMO Nguégoué Joël 21


COURS PROGRAMATION WEB II

CHAPITRE 3 : INITIATION AU PHP

I. PRESENTATTION DE PHP
1. Définition
PHP (Personnal Home Page ou Hypertext Preprocessor) est un langage de script HTML, c’est-
à-dire qu’il fonctionne en relation avec le langage HTML (HyperText Markup Language). Il
fonctionne du côté du serveur, et non pas du côté du client, et permet de générer des pages web

Un script est défini comme suit par le jargon Linux France : “Une suite d’instructions simples,
peu structurées, permettant d’automatiser certaines tâches

2. Historique du PHP
Il a été créé, à l'origine, en 1995 par Rasmus Lerdorf, pour compter les passages sur son CV
en ligne. PHP était alors pour «Personnal Home Page Tools». Depuis, la petite bibliothèque de
scripts d'origine a fortement évolué et est devenue un module du serveur Apache, capable de
dialoguer avec de nombreuses bases de données. PHP signifie aujourd'hui «PHP: Hypertext
Preprocessor».

3. Intérêt de PHP
L’avantage par rapport à l’HTML est considérable, puisqu’il est ainsi possible de concevoir des
sites dits dynamiques. C’est-à-dire qu’une page peut changer de contenu sans qu’aucune
intervention humaine ne soit nécessaire. Prenons le cas d’un forum : il est souhaitable que, dès
qu’une personne soumet une question, celle-ci soit disponible sur le site. C’est un cas typique
d’utilisation d’un site Internet dynamique. Le langage PHP permettra alors de créer une page
HTML à partir de ce message (et des autres messages disponibles dans la base de don- nées).

PHP est un langage de script qui s’exécute coté serveur. Ainsi, PHP permet de créer des pages
Web dynamiques.

Proposé par : Ing. KOUEMO Nguégoué Joël 22


COURS PROGRAMATION WEB II

II. SYNTAXE ET UTILISATION DU PHP


1. Insertion d’un script PHP
Tout script PHP doit être entouré par deux balises pour le délimiter d'un autre type de
contenu se trouvant dans un même fichier (du code HTML par exemple). Ici nous utilisons les
marqueurs <?php et ?>. Il en existe d'autres mais ils sont fortement déconseillés à utiliser.
La fonction echo() se charge d'écrire ce qu'on lui passe en paramètre sur la sortie standard.

<!DOCTYPE html>
<html lang="fr">
<head>
<title>Premier programme PHP !</title>
</head>
<body>
<?php
echo 'Hello World !';
?>
</body>
</html>
Le code ci-dessous aura pour effet d'écrire à l'écran : Hello World !
NB : le code PHP s’insère partout dans le code HTML et le fichier qui comporte du code PHP
porte l’extension « .PHP ».

2. Les différents types de commentaires


Il existe deux sortes de commentaire. Le commentaire sur une seule ligne et le commentaire multi
lignes. Etudions ensemble les deux méthodes pour commenter un texte sur une seule ligne.
a. Les commentaires unie ligne
PHP propose deux manières de commenter un texte placé sur une ligne. La méthode la plus
employée est celle du premier exemple avec le double slash (//) contrairement à la seconde
utilisant un signe dièse (#).
<?php
// Ceci est un premier commentaire sur une ligne
echo 'Hello World !';
# Ceci est un second commentaire sur une ligne
echo 'Bonjour le monde !';
?>

b. Les commentaires multi lignes


Il permet de commenter un texte écrit sur plusieurs lignes. Il est très fréquemment utilisé par les
développeurs. Ces commentaires sont définis au moyen des symboles /* et */.

Proposé par : Ing. KOUEMO Nguégoué Joël 23


COURS PROGRAMATION WEB II

<?php
/*
Ce programme a été écrit par Kouémo Joël

Il affiche la chaîne 'Hello Word !' à l'écran


*/
echo 'Hello World !';
?>

3. Les variables et constantes


a. Les constantes
Nous allons donc déclarer une première constante de nom TEMPERATURE et qui renferme
une information numérique de valeur 100.
<?php
// Déclaration de la constante
define('TEMPERATURE',100);
?>

b. Les Variables
Toute variable doit être précédé du signe dollars $ et doit commencer obligatoirement de lettres
(en majuscules ou minuscules) ou d'un underscore (tiret souligné _ ).

<?php
$prenom = 'Hugo'; // Type string (chaine de caractères)
$nom = "Hamon"; // Type string (chaine de caractères)
$age = 19; // Type entier
$estEtudiant = true; // Type booléen
$cours = array('physique','chimie','informatique','philosophie'); // Type tableau
$unEtudiant = new Etudiant(); // Objet de type Etudiant
?>
Pour déclarer une variable de type :
string : on entoure la chaîne de caractères de guillemets ou d'apostrophes.
entier, réel ou flottant : on écrit la valeur telle qu'elle. Pour les flottants, la virgule est remplacée
par un point (écriture à l'américaine).
booléen : on écrit true ou false directement.
sans type : si l'on ne souhaite pas typer la variable, on lui affecte la valeur null.
NB : le type d'une variable n'est pas déclaré explicitement comme en Java, C ou encore C++ mais
implicitement au moment de l'affectation d'une valeur.

Proposé par : Ing. KOUEMO Nguégoué Joël 24


COURS PROGRAMATION WEB II

c. Les règles de déclaration des variables en PHP


 Toute variable en PHP doit commencer par le signe $ qui sera suivi du nom de la variable ;
 Le nom d’une variable doit obligatoirement commencer par une lettre ou un underscore (_)
et ne doit pas commencer par un chiffre ;
 Le nom d’une variable ne doit contenir que des lettres, des chiffres et des underscores mais
pas de caractères spéciaux ;
 Le nom d’une variable ne doit pas contenir d’espace.

De plus, notez que le nom des variables est sensible à la casse en PHP. Cela signifie que l’usage
de majuscules ou de minuscules va créer des variables différentes. Par exemple, les variables
$texte, $TEXTE et $tEXTe vont être des variables différentes.

Enfin, sachez qu’il existe des noms « réservés » en PHP. Vous ne pouvez pas utiliser ces noms
comme noms pour vos variables, tout simplement car le langage PHP les utilise déjà pour
désigner différents objets intégrés au langage. Nous verrons ces différents noms au fil de ce
cours.

d. Afficher et modifier le contenu d’une variable PHP

4. Les opérateurs en PHP


Un opérateur est un symbole qui va être utilisé pour effectuer certaines actions notamment
sur les variables et leurs valeurs. Dans cette leçon, nous allons nous concentrer sur les opérateurs
arithmétiques, les opérateurs de chaines et les opérateurs d’affectation. Nous verrons les autres

Proposé par : Ing. KOUEMO Nguégoué Joël 25


COURS PROGRAMATION WEB II

types d’opérateurs au fil de ce cours lorsque cela fera le plus de sens (c’est-à-dire lorsqu’on en
aura besoin).

a. Les opérateurs de concaténation en PHP


Concaténer signifie littéralement « mettre bout à bout ». L’opérateur de concaténation qui est le
point (.) va donc nous permettre de mettre bout à bout deux chaines de caractères.

b. Les opérateurs arithmétiques


Les opérateurs arithmétiques vont nous permettre d’effectuer toutes sortes d’opérations
mathématiques entre les valeurs contenues dans différentes variables lorsque ces valeurs sont des
nombres.

En PHP, nous allons pouvoir utiliser les opérateurs arithmétiques suivants :

Opérateur Nom de l’opération associée

+ Addition

– Soustraction

* Multiplication

/ Division

% Modulo (reste d’une division euclidienne)

Proposé par : Ing. KOUEMO Nguégoué Joël 26


COURS PROGRAMATION WEB II

** Exponentielle (élévation à la puissance d’un nombre par un autre)

Exemple :

c. Les opérateurs d’affectation et opérateurs combinés


Les opérateurs d’affectation vont nous permettre, comme leur nom l’indique, d’affecter une
certaine valeur à une variable.

Nous connaissons déjà bien l’opérateur d’affectation le plus utilisé qui est le signe = .
Cependant, vous devez également savoir qu’il existe également des opérateurs combinés
notamment pour les opérateurs arithmétiques et l’opérateur de concaténation et qui sont les
suivants :

Opérateur Définition Exemple Signification

.= Concatène puis affecte le résultat $a .= $b $a = $a.$b

Proposé par : Ing. KOUEMO Nguégoué Joël 27


COURS PROGRAMATION WEB II

+= Additionne puis affecte le résultat $a += $b $a = $a + $b

-= Soustrait puis affecte le résultat $a -= $b $a = $a - $b

*= Multiplie puis affecte le résultat $a *= $b $a = $a * $b

/= Divise puis affecte le résultat $a /= $b $a = $a / $b

%= Calcule le modulo puis affecte le résultat $a %= $b $a = $a % $b

**= Élève à la puissance puis affecte le résultat $a **= $b $a = $a ** $b

Exemple :

Ce qu’il faut bien comprendre dans l’exemple précédent est que les opérateurs d’affectation
combinés font deux choses à la fois : ils exécutent une opération puis ils affectent une valeur.
Lorsque des opérateurs ont des ordres de priorité égaux, c’est le sens d’association de ceux-ci qui
va décider du résultat. Pour les opérateurs arithmétiques, on a vu que l’association se faisait par
la gauche sauf pour l’élévation à la puissance. Pour les opérateurs d’affectation, l’association se
fait par la droite.

Proposé par : Ing. KOUEMO Nguégoué Joël 28


COURS PROGRAMATION WEB II

d. Présentation des opérateurs de comparaison


Opérateur Définition

== Permet de tester l’égalité sur les valeurs

=== Permet de tester l’égalité en termes de valeurs et de types

!= Permet de tester la différence en valeurs

<> Permet également de tester la différence en valeurs

!== Permet de tester la différence en valeurs ou en types

< Permet de tester si une valeur est strictement inférieure à une autre

> Permet de tester si une valeur est strictement supérieure à une autre

<= Permet de tester si une valeur est inférieure ou égale à une autre

>= Permet de tester si une valeur est supérieure ou égale à une autre

e. Présentation des opérateurs logiques


Les opérateurs logiques vont être principalement utilisés avec les conditions puisqu’ils vont nous
permettre d’écrire plusieurs comparaisons au sein d’une même condition ou encore d’inverser la
valeur logique d’un test.
En PHP, nous pouvons utiliser les opérateurs logiques suivants :

Proposé par : Ing. KOUEMO Nguégoué Joël 29


COURS PROGRAMATION WEB II

Opérateur Définition

AND Renvoie true si toutes les comparaisons valent true

&& Renvoie true si toutes les comparaisons valent true

OR Renvoie true si une des comparaisons vaut true

|| Renvoie true si une des comparaisons vaut true

XOR Renvoie true si une des comparaisons exactement vaut true

! Renvoie true si la comparaison vaut false (et inversement)

Comme vous pouvez le constater, les opérateurs logiques « ET » et « OU » peuvent s’écrire de


deux façons différentes : soit avec les mots clefs AND et OR, soit avec les signes && et ||.

III. LES STRUCTURES DE CONTROLE EN PHP


1. Les structures de contrôle conditionnelles en PHP
Les structures de contrôle conditionnelles (ou plus simplement conditions) vont nous permettre
d’exécuter différents blocs de code selon qu’une condition spécifique soit vérifiée ou pas.
En PHP, nous allons pouvoir utiliser les conditions suivantes :

 La condition if (si) ;
 La condition if… else (si… sinon) ;
 La condition if… elseif… else (si… sinon si… sinon).

a. La condition if en PHP
La condition if est également la plus simple, puisqu’elle va nous permettre d’exécuter un bloc
de code si et seulement si le résultat d’un test vaut true.

Proposé par : Ing. KOUEMO Nguégoué Joël 30


COURS PROGRAMATION WEB II

b. La condition if…else en PHP


Avec la condition if, nous restons relativement limités puisque cette condition nous permet
seulement d’exécuter un bloc de code selon que le résultat d’un test soit évalué à true.

La structure conditionnelle if…else (« si… sinon » en français) va être plus complète que la
condition if puisqu’elle va nous permettre d’exécuter un premier bloc de code si un test renvoie
true ou un autre bloc de code dans le cas contraire.

c. La condition if…elseif…else en PHP


La condition if…elseif…else (« si…sinon si…sinon ») est une structure conditionnelle
encore plus complète que la condition if…else puisqu’elle va nous permettre cette fois-ci de
générer autant de cas que l’on souhaite.

Proposé par : Ing. KOUEMO Nguégoué Joël 31


COURS PROGRAMATION WEB II

d. Imbriquer plusieurs conditions


Souvent, nous allons vouloir comparer plusieurs valeurs au sein d’une même condition, c’est-
à-dire n’exécuter son code que si plusieurs conditions sont vérifiées. Pour faire cela, nous allons
pouvoir soit utiliser les opérateurs logiques, soit imbriquer plusieurs conditions les unes dans les
autres. Les opérateurs logiques vont nous permettre de créer des conditions plus puissantes mais
dans certains cas il sera plus intéressant et plus rapide d’imbriquer des conditions.

Les opérateurs logiques AND, &&, OR, || et XOR vont nous permettre de créer des conditions
avec plusieurs comparaisons.

Proposé par : Ing. KOUEMO Nguégoué Joël 32


COURS PROGRAMATION WEB II

2. L’opérateur ternaire et les structures conditionnelles ternaires


Les structures conditionnelles ternaires (souvent simplement abrégées “ternaires”)
correspondent à une autre façon d’écrire nos conditions en utilisant une syntaxe basée sur
l’opérateur ternaire ? : qui est un opérateur de comparaison. Avant de vous montrer les écritures
ternaires, je dois vous prévenir : beaucoup de développeurs n’aiment pas les ternaires car elles ont
la réputation d’être très peu lisibles et très peu compréhensibles.
Les structures ternaires vont se présenter sous la forme suivante : test ? code à exécuter si true :
code à exécuter si false.

Proposé par : Ing. KOUEMO Nguégoué Joël 33


COURS PROGRAMATION WEB II

3. L’instruction switch en PHP


L’instruction switch va nous permettre d’exécuter un code en fonction de la valeur
d’une variable.
L’instruction switch va s’articuler autour de case qui sont des cas. Si la valeur de notre
variable est égale à celle du case, alors on exécute le code qui est à l’intérieur.

Chaque case d’un switch doit se terminer par une instruction break. Cette instruction
indique au PHP qu’il doit sortir du switch. Sans break, le PHP continuerait à tester les différents
autres case du switch même si un case égal à la valeur de la variable a été trouvé, ce qui ralentirait
inutilement le code et pourrait produire des comportements non voulus.

Enfin, à la fin de chaque switch, il convient d’indiquer une instruction default. Il sert à gérer tous
les autres cas et son code ne sera exécuté que si aucun case ne correspond à la valeur de la variable.

La syntaxe d’une instruction switch va être différente de celle des conditions vues jusqu’ici.
Regardez plutôt l’exemple ci-dessous :

Proposé par : Ing. KOUEMO Nguégoué Joël 34


COURS PROGRAMATION WEB II

4. Les boucles PHP et les opérateurs d’incrémentation et de décrémentation

a. Les opérateurs d’incrémentation et de décrémentation

Incrémenter une valeur signifie ajouter 1 à cette valeur tandis que décrémenter signifie
enlever 1.
Les opérations d’incrémentation et de décrémentation vont principalement être utilisées avec les
boucles en PHP. Elles vont pouvoir être réalisées grâce aux opérateurs d’incrémentation ++ et de
décrémentation -- .
Retenez déjà qu’il y a deux façons d’incrémenter ou de décrémenter une variable :
 pré-incrémentation et pré-décrémentation : Elles permettent d'augmenter ou de
diminuer la valeur d'une variable d'une unité avant son utilisation dans une expression.
 post-incrémentation et de post-décrémentation : Elles permettent d'augmenter ou de
diminuer la valeur d'une variable d'une unité après son utilisation dans une expression.

Le tableau ci-dessous présente les différentes façons d’utiliser les opérateurs d’incrémentation et
de décrémentation ainsi que le résultat associé :

Exemple Résultat
++$x Pré-incrémentation : incrémente la valeur contenue dans la variable $x, puis retourne
la valeur incrémentée
$x++ Post-incrémentation : retourne la valeur contenue dans $x avant incrémentation, puis
incrémente la valeur de $x
--$x Pré-décrémentation : décrémente la valeur contenue dans la variable $x, puis
retourne la valeur décrémentée
$x-- Post-décrémentation : retourne la valeur contenue dans $x avant décrémentation,
puis décrémente la valeur de $x

Prenons immédiatement un exemple concret pour illustrer les différences entre pré et post
incrémentation ou décrémentation.

Proposé par : Ing. KOUEMO Nguégoué Joël 35


COURS PROGRAMATION WEB II

b. Présentation des boucles

Les boucles vont nous permettre d’exécuter plusieurs fois un bloc de code, c’est-à-dire
d’exécuter un code « en boucle » tant qu’une condition donnée est vérifiée.
Lorsqu’on code, on va en effet souvent devoir exécuter plusieurs fois un même code. Utiliser
une boucle nous permet de n’écrire le code qu’on doit exécuter plusieurs fois qu’une seule fois.
Nous allons ainsi pouvoir utiliser les boucles pour parcourir et afficher plusieurs valeurs un
une seule instruction, comme par exemple récupérer la liste des produits achetés dans une
commande, afficher le prénom de tous les utilisateurs de notre site, récupérer des valeurs jusqu’à
un certain point donné dans une variable tableau, etc.
Nous disposons de quatre boucles différentes en PHP :
 La boucle while (« tant que ») ;
 La boucle do… while (« faire… tant que ») ;
 La boucle for (« pour ») ;
 La boucle foreach (« pour chaque ») ;
Le fonctionnement général des boucles sera toujours le même : on pose une condition qui sera
généralement liée à la valeur d’une variable et on exécute le code de la boucle « en boucle » tant
que la condition est vérifiée.

Proposé par : Ing. KOUEMO Nguégoué Joël 36


COURS PROGRAMATION WEB II

c. La boucle PHP while

La boucle while (« tant que » en français) est la boucle PHP la plus simple à appréhender.
La boucle while va nous permettre d’exécuter un certain bloc de code « tant qu’une » condition
donnée est vérifiée.
Voyons immédiatement la syntaxe de cette boucle que je vais détailler par la suite :

d. La boucle PHP do…while

La boucle PHP do… while (« faire… tant que » en français) ressemble à priori à la boucle
while mais va fonctionner « en sens inverse » par rapport à while.
En effet, la boucle PHP do… while va également nous permettre d’exécuter un code tant
qu’une condition donnée est vraie, mais cette fois-ci le code dans la condition sera exécuté avant
que la condition soit vérifiée.
Ainsi, même si une condition est fausse dès le départ, on effectuera toujours au moins un
passage au sein d’une boucle do…while, ce qui n’est pas le cas avec une boucle while.

Proposé par : Ing. KOUEMO Nguégoué Joël 37


COURS PROGRAMATION WEB II

e. La boucle PHP for

La boucle PHP for (« pour » en français) est plus complexe à appréhender à priori que les
boucles précédentes.
Cependant, cette boucle est très puissante et c’est celle qui sera majoritairement utilisée dans
nos scripts PHP, faites donc l’effort de comprendre comment elle fonctionne.
Nous pouvons décomposer le fonctionnement d’une boucle for selon trois phases :
 Une phase d’initialisation ;
 Une phase de test ;
 Une phase d’incrémentation.
Voyons immédiatement comment cette boucle va fonctionner en prenant un exemple concret :

Proposé par : Ing. KOUEMO Nguégoué Joël 38


COURS PROGRAMATION WEB II

f. La boucle PHP foreach

La boucle PHP foreach est un peu particulière puisqu’elle a été créée pour fonctionner avec des
variables tableaux, qui sont des variables spéciales que nous n’avons pas encore étudiées.
Nous étudierons donc le fonctionnement de cette boucle en même temps que le type de valeur
PHP array (« tableau » en français).

Proposé par : Ing. KOUEMO Nguégoué Joël 39


COURS PROGRAMATION WEB II

IV. LES TABLEAUX EN PHP


1. Présentation des tableaux et tableaux numérotés en PHP

Les tableaux en PHP sont des variables spéciales qui peuvent stocker plusieurs valeurs en
même temps.

Dans un tableau, chaque valeur va être associée à une clef unique. Cette clef va nous
permettre notamment de récupérer la valeur associée.

Les tableaux, aussi appellés arrays en anglais, sont des types de données structurés permettant
de grouper des informations ensemble.

On va pouvoir créer trois types de tableaux différents en PHP :

 Des tableaux numérotés ou indexés (les clefs vont être des nombres) ;
 Des tableaux associatifs (nous allons définir la valeur que l’on souhaite pour chaque clef) ;
 Des tableaux multidimensionnels (tableaux qui stockent d’autres tableaux en valeur).

Pour créer un tableau, on peut soit utiliser la structure de langage array(), soit le nouvelle
syntaxe plus courte [].

a. Création d’un tableau numéroté ou indexé en PHP

Proposé par : Ing. KOUEMO Nguégoué Joël 40


COURS PROGRAMATION WEB II

b. Afficher les valeurs d’un tableau numéroté


Pour afficher toutes les valeurs d’un tableau numéroté d’un coup, nous devons utiliser une
structure itérative mais les plus appropriés sont : les boucles « for » et « foreach ».

En effet, count() sert à compter le nombre d’éléments d’un tableau.

V. RECUPERER ET MANIPULER LES DONNEES DES


FORMULAIRES HTML EN PHP
Le HTML nous permet de créer nos formulaires. Pour récupérer et manipuler les données
envoyées, cependant, nous allons devoir utiliser du PHP.

La première chose à comprendre ici est que toutes les données du formulaire vont être
envoyées et être accessibles dans le script PHP mentionné en valeur de l’attribut action, et
cela quelle que soit la méthode d’envoi choisie (POST ou GET).

En effet, le PHP possède dans son langage deux variables superglobales $_GET et
$_POST qui sont des variables tableaux et dont le rôle va justement être de stocker les données
envoyées via des formulaires.

Proposé par : Ing. KOUEMO Nguégoué Joël 41


COURS PROGRAMATION WEB II

Plus précisément, la superglobale $_GET va stocker les données envoyées via la méthode
GET et la variable $_POST va stocker les données envoyées via la méthode POST.

Proposé par : Ing. KOUEMO Nguégoué Joël 42


COURS PROGRAMATION WEB II

VI. INCLURE DES FICHIERS DANS UN AUTRE EN PHP AVEC


« INCLUDE » ET « REQUIRE »
Les instructions PHP « include » et « require » vont nous permettre toutes deux d’inclure des
fichiers de code (ou plus exactement le contenu de ces fichiers) à l’intérieur d’autres fichiers de
code.

La seule et unique différence entre les instructions « include » et « require » va se situer dans
la réponse du PHP dans le cas où le fichier ne peut pas être inclus pour une quelconque raison.
Dans ce cas-là, si l’inclusion a été tentée avec « include », le PHP renverra un simple
avertissement et le reste du script s’exécutera quand même tandis que si la même chose se produit
avec « require », une erreur fatale sera retournée par PHP et l’exécution du script s’arrêtera
immédiatement.

L’instruction « require » est donc plus « stricte » que « include ».

La différence entre les instructions « include » et


« require » et leurs variantes « include_once » et
« require_once » est qu’on va pouvoir inclure
plusieurs fois un même fichier avec include et
require tandis qu’en utilisant include_once et
require_once cela ne sera pas possible : un même
fichier ne pourra
être inclus qu’une
seule fois dans un
autre fichier.

Proposé par : Ing. KOUEMO Nguégoué Joël 43


COURS PROGRAMATION WEB II

VII. INTRODUCTION AUX FONCTIONS PHP


Une fonction correspond à une série cohérente d’instructions qui ont été créées pour effectuer
une tâche précise. Pour exécuter le code contenu dans une fonction, il va falloir appeler la fonction.

1. Les fonctions définies par l’utilisateur en PHP

Pour utiliser nos propres fonctions, nous allons déjà devoir les définir, c’est-à-dire préciser
une première fois la série d’instructions que chaque fonction devra exécuter lors de son appel.

Pour déclarer une fonction, il faut déjà commencer par préciser le mot clef function qui
indique au PHP qu’on va définir une fonction personnalisée. Ensuite, nous allons devoir préciser
le nom de notre fonction.

Proposé par : Ing. KOUEMO Nguégoué Joël 44


COURS PROGRAMATION WEB II

2. Les Fonctions Standard en PHP

a. Les fonctions appliquées sur les variables


Fonctions Descriptions Exemple
define("ISLAPE","Institut
Fonction qui permet de définir
define() Supérieur La Perle");
une constante.
ISLAPE vaut " Institut
Supérieur La Perle "
Fonction qui permet de retourner
$a=12 ;
gettype() le type de la variable en
echo (gettype($a)) ;
paramètre.
retourne int
Fonction qui permet de convertir $moy=12.25 ;
settype() une variable d’un type à un autre settype($moy,"string"); vaut
type. $moy="12.25"
Fonction qui permet de vérifier si $a ;
isset() une variable existe (déclaré) ou echo (isset($a)) ; retourne true
non. echo (isset($b)) ; retourne false
Fonction qui permet de vérifier si $a ; $b=10 ;
empty() une variable est vide (null) ou non. echo (empty($a)) ; retourne true
echo (empty($b)) ; retourne false

b. Les fonctions appliquées sur les chaines de caractère

Fonctions Descriptions Exemple


Fonction qui permet de
$ch="Laperle" ;
strlen() retourne la langueur
echo (strlen($ch)) ; retourne 7
d’une chaine.
$ch="La" ;
Fonction qui permet de
$ch2="Perle" ;
strcmp() comparer deux chaines
echo (strcmp($ch,$ch2)); retourne 1
elle retourne (0 ou 1 ou
-1).
Fonction qui permet $ch="LAPERLE" ;
strtolower() de convertir une echo (strtolower($ch)) ; retourne
chaine en "laperle"
minuscule.
Fonction qui permet $ch="laperle" ;
strtoupper() de convertir une echo (strtoupper($ch)) ; retourne
chaine en majuscule. "LAPERLE"

Proposé par : Ing. KOUEMO Nguégoué Joël 45


COURS PROGRAMATION WEB II

Fonctions Descriptions Exemple


Fonction qui extraire une echo(substr("tunisie",2) vaut "nisie".
substr()
sous chaine d’une chaine echo(substr("tunisie",-2)vaut "ie".
mère.
Fonction qui divise une $phrase = "Bonjour ;comment ;ça;va";
chaîne de caractères en un $tableau = explode(" ;", $phrase);
tableau de sous-chaînes, en $tableau vaut [‘Bonjour’ , ‘comment’ ,
explode() utilisant un délimiteur ‘ça’, ‘va’]
spécifié.

c. Les fonctions appliquées aux tableaux

Fonctions Descriptions Exemple


Fonction qui permet de $t=[10 ,1 ,100 ,50 ]
count() retourner la longueur d’un echo (count($t)) ; retourne 4
tableau (nombre de cases).
Fonction qui permet de $t=[10 ,1 ,100 ,50 ]
sizeof() retourner la longueur d’un echo (sizeof($t)) ; retourne 4
tableau (nombre de cases).
$t=[10 ,1 ,100 ,50 ]
Fonction qui permet de trier un
sort() sort($t) ;
tableau d’une manière croissante.
for ($i=0 ;$i<sizeof($t) ;$i++)
echo ($t[$i]. "-");
retourne 1-10-50-100
$t=[10 ,1 ,100 ,50 ]
current() Fonction qui retourne la valeur
echo (current($t)) vaut 10
de la première case d’un tableau.
$t=[10 ,1 ,100 ,50 ]
Fonction qui retourne l’indice
echo (end($t)) vaut 50
end() du dernier élément d’un
tableau.

d. Les fonctions appliquées aux objets date et time

Fonctions Descriptions Exemple


$d1=date("d/m/Y h:i:s");
Fonction qui retourne la date et echo("nous sommes le:".$d1);
date()
l’heure système. affiche nous somme le :
24/02/2017 9 :30 :45

Proposé par : Ing. KOUEMO Nguégoué Joël 46


COURS PROGRAMATION WEB II

Fonctions Descriptions Exemple


Soient $j=30 ; $m=2 ;
Fonction qui teste si une date
checkdate() $a=2017 ;
est valide ou non.
echo (checkdate($m,$j,$a))
retourne flase

VIII. LE PHP ET LES BASES DE DONNEES


En utilisant PHP, on peut se connecter à une base de données, exécuter des requêtes
SQL pour récupérer ou mettre à jour les données, et afficher les résultats dans les applications
web. La sécurité est également importante lors de l'utilisation de PHP avec les bases de données.
Les fonctions PHP permettant d’effectuer des opérations sur un serveur de base de données sont :

1. mysqli_connect( )
C’est une fonction MySQL qui permet d’établir une connexion au serveur de base de données
MySQL. Elle comporte 04 paramètres à savoir : le nom du serveur, le nom d’utilisateur de la
base de donnée, le mot de passe du serveur de donnée et enfin le nom de la base de donnée
Si la connexion est établie avec succès, elle renvoie un identificateur de ressource de
connexion à la base de données.
Si la connexion rencontre un échec, elle génère simplement une erreur.

Proposé par : Ing. KOUEMO Nguégoué Joël 47


COURS PROGRAMATION WEB II

2. mysqli_select_db( )
Fonction MySQL qui permet de sélectionner la base de données à utiliser ou de modifier la
base de données par défaut. Elle prend en paramètre la connexion et le nom de la BD

3. mysqli_query()
Cette fonction MySQLi exécute ou exécute la requête sur la base de données donnée. Elle
permet de créer une requête de sélection, d’ajout, de modification ou de suppression.
Elle a pour paramètre la connexion et la requête SQL

Proposé par : Ing. KOUEMO Nguégoué Joël 48


COURS PROGRAMATION WEB II

4. mysqli_close()
Cette fonction MySQLi permet de fermer une base de données précédemment connectée.
Cette fonction renverra TRUE en cas de fermeture réussie, sinon elle retournera FALSE.

5. mysqli_fetch_array()
La fonction MySQLi ci-dessus est utilisée pour récupérer une ligne sous forme de tableau
associatif, numérique ou les deux types de tableau à partir du jeu de résultats.

Proposé par : Ing. KOUEMO Nguégoué Joël 49


COURS PROGRAMATION WEB II

6. mysqli_fetch_row()
La fonction MySQLi ci-dessus est utilisée pour récupérer une ligne du jeu de résultats sous
la forme d’un tableau énuméré. Chaque appel à la fonction ci-dessus renverra la ligne suivante
du jeu de résultats. Si aucune ligne n’est récupérée, elle renvoie FALSE.

7. mysqli_num_rows() et mysqli_field_count()
La fonction mysqli_num_rows() est utilisée pour renvoyer le nombre de lignes du jeu de
résultats.

La fonction mysqli_field_count() est utilisée pour renvoyer le nombre de colonnes de la


requête la plus récente. Il renvoie le nombre total de colonnes dans le jeu de résultats.

Proposé par : Ing. KOUEMO Nguégoué Joël 50


COURS PROGRAMATION WEB II

Proposé par : Ing. KOUEMO Nguégoué Joël 51

Vous aimerez peut-être aussi