Introduction générale
Dernière mise à jour le 8 octobre 2022
Qu'est-ce que PHP?
PHP veut dire PHP Hypertext Preprocessor (c'est un acronyme récursif!).
Langage de scripts (donc langage interprété et non compilé), libre et principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP (serveur Web).
Langage de scripts côté serveur par oppostion à JavaScript qui est un langage de scripts surtout (mais pas exclusivement) utilisé côté client.
Inventé en 1994 par Rasmus Lerdorf.
Syntaxe empruntée à C, Java et Perl.
Facile à apprendre (truc : quand on ignore comment se fait une chose avec PHP, on la fait comme en Java ou en C#).
Les scripts PHP sont intégrés au code HTML :
... code HTML ... <?php echo "J'aime le cours de PHP!"; ?> ... code HTML ...
Les fichiers .php
sont traités côté serveur par l'interpréteur PHP.
Le client ne peut voir le code PHP.
PHP peut aussi être utilisé comme langage de programmation, comme les langages de shell sur Linux (s'utilise sur la ligne de commande).
PHP est disponible sur tous les serveurs Web connus et dans tous les systèmes d'exploitation connus (même si implémenté de manières différentes).
Utilisé par des millions de sites Web sur la planète :
PHP is used by 77.4% of all the websites whose server-side programming language we know.
Choix de programmation procédurale ou objet (depuis PHP 4).
La dernière version est la 8.1.9 datant du 4 août 2022.
Permet de générer du code HTML, mais aussi (avec les bibliothèques appropriées) des images, des fichiers PDF, des animations Flash, du texte, etc.
Supporte un grand nombre de bases de données, dont Ingres, MongoDB, MySQL / MariaDB, Oracle, PostgrSQL, etc.
Depuis la version 5, PHP contient même une base de données intégrée : SQLite
Supporte un grand nombre de protocoles réseau, permet d'ouvrir des sockets TCP/IP.
Un script PHP peut même exécuter du code Java (après installation du PHP/Java Bridge)
Un premier programme
Commençons notre étude de PHP par un petit exemple.
Le programme (ou script) suivant affiche dans la fenêtre du navigateur la phrase J'aime le cours de PHP!.
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <title>Mon premier script PHP</title> </head> <body> <h1> <?php echo "J'aime le cours de PHP!"; ?> </h1> </body> </html>
Le fichier est constitué de code HTML dans lequel on a inséré du code PHP (en jaune).
Le code PHP est délimité par des balises (ici <?php
et ?>
).
Tout ce qui se trouve à l'intérieur de ces balises sera traité par l'interpréteur PHP du serveur Web.
Balises PHP
Plusieurs styles de balises sont permis.
Style recommandé |
<?php echo "J'aime le chocolat !"; ?> |
Style court |
<? echo "J'aime le chocolat !"; ?> |
Style "script" |
<SCRIPT LANGUAGE='php'>echo "J'aime le chocolat !";</SCRIPT> |
Style ASP : |
<% echo "J'aime le chocolat !"; %> |
Intégrer du code PHP et du code HTML
Tout ce qui n'est pas à l'intérieur des balises PHP est donc ignoré par l'interpréteur.
Il existe deux façons d'intégrer HTML et PHP :
1) On peut générer le code HTML à l'aide d'instructions PHP, par exemple :
<?php if (expression booleenne) { echo "<strong>C'est vrai!</strong>"; } else { echo "<strong>C'est faux!</strong>"; } ?>
Remarque : la commande echo
sert à afficher de l'information et sera abordée plus loin.
2) On peut aussi (un peu plus compliqué) utiliser le code PHP pour décider quelles portions du fichier HTML seront affichées.
Ainsi l'exemple précédent pourrait s'écrire :
<?php if (expression booleenne) { ?> <strong>C'est vrai!</strong> <?php } else { ?> <strong>C'est faux!</strong> <?php } ?>
Si cette deuxième façon vous semble compliquée pour le moment (elle vous paraîtra naturelle plus tard), limitez-vous à la première.
Sachez toutefois que pour de gros blocs de texte il est préférable de laisser le code HTML à l'écart de l'interprétation (comme dans la deuxième approche), plutôt que d'utiliser echo
.
Ce qu'il faut pour faire du PHP
Il nous faudra...
- un éditeur pour écrire le code (Visual Studio Code)
- un serveur Web sur lequel a été installé un interpréteur PHP (Apache 2)
- un logiciel de transfert de fichiers pour déposer ceux-ci sur le serveur (FileZilla)
Visual Studio Code
Il existe plusieurs bons éditeurs de texte adaptés à la création de code PHP.
Mais puisque vous utilisez déjà Visual Studio Code, nous vous suggérons de continuer avec cet outil.
Tout ce qu'il vous manquera alors pour développer agréablement en PHP est d'y ajouter minimalement les extensions suivantes :
- PHP Intelephense
- PHP Namespace Resolver
- SFTP (assurez-vous qu'il s'agit de la version de Natizyskunk)
Télécharger Visual Studio Code
Visual Studio Code permet le transfert automatique du fichier PHP sur le serveur à chaque fois qu'il est sauvegardé. Pour activer cette fonctionnalité, faites Ctrl+Shift+P, sélectionnez SFTP:Config et remplissez le fichier sftp.json avec ces valeurs :
{ "name": "Mon serveur", "host": "198.245.55.77", "protocol": "sftp", "port": 22, "username": "patoche", <-- votre nom d'utilisateur sur le serveur Linux "password": "...", <-- votre mot de passe sur le serveur "remotePath": "/home/patoche/public_html/", <-- chemin de votre répertoire Web sur le serveur "uploadOnSave": true }
Les valeurs surlignées en jaune ne doivent pas être modifiées.
Si le transfert automatique à la sauvegarde ne fonctionne pas (erreur de configuration ou d'utilisation de VS Code), utilisez FileZilla pour transférer vos fichiers.
Apache
On n'apprend pas la plongée sous-marine dans une piscine. D'accord, peut-être au tout début, mais il faudra tôt ou tard continuer notre apprentissage dans un lac, une rivière ou en pleine mer.
C'est pourquoi nous vous demandons dès maintenant de déployer vos applications sur un serveur distant.
En plus de vous confronter tout de suite à un contexte réaliste, cette approche a l'immense avantage que le fruit de votre travail sera accessible à tous (y compris à vos professeurs qui corrigeront à distance) et non seulement à vous.
Le serveur utilisé pour le cours a pour adresse IP statique le 198.245.55.77 et ces caractéristiques sont les suivantes :
Type : VPS (Serveur privé virtuel) Fournisseur : OVHcloud Localisation : Beauharnois (Québec) OS/Distribution : Ubuntu Linux 20.04 Server Domaine : vps208932.vps.ovh.ca IPv4 : 198.245.55.77 IPv6 : 2607:5300:201:3100:0:0:0:889
Comme pour les fichiers HTML, les fichiers PHP devront être stockés dans le répertoire (ou un sous-répertoire de) public_html.
FileZilla
FileZilla est un client FTP, FTPS et SFTP.
Disponible gratuitement sur toutes les plateformes, il s'agit d'un excellent logiciel pour transférer des fichiers d'un ordinateur à l'autre, que ce soit pour mettre à jour un site Web, faire une copie de sauvegarde d'une base de donnée ou tester des programmes sur un Raspberry Pi.
Même s'il est possible de transférer des fichiers avec Visual Studio Code, il reste avantageux d'installer FileZilla. Vous l'utiliserez le moment venu pour téléverser (upload) ou télécharger (download) des lots de fichiers ou encore pour créer des répertoires et gérer les droits d'accès.
Si vous comptez utiliser FileZilla régulièrement avec le même serveur, vous avez avantage à créer un "site". Cela vous évitera d'avoir à entrer une série d'informations à chaque fois.
Pour créer un site, commencez par cliquer sur "Fichier" dans la barre de menus en haut de la fenêtre, puis sélectionnez "Gestionnaire de sites...". Vous pouvez aussi aller directement au gestionnaire de sites en cliquant sur le premier icône à partir de la gauche sous la barre de menus.
Dans la partie gauche du gestionnaire de sites, cliquez sur le bouton "Nouveau site", puis entrez un nom significatif pour vous (ex: "Mon site Web"). Entrez ensuite les information nécessaires dans la partie droite de la fenêtre.
Onglet Général :
Hôte : adresse IP ou nom de domaine du serveur (pour nous ce sera 198.245.55.77) Protocole : SFTP - SSH File Transfer Protocol Type d'authentification : Normale Identifiant : votre nom d'usager sur le serveur Mot de passe : mot de passe associé à cet usager
Onglet Avancé :
Dossier local par défaut : chemin du dossier contenant les fichiers à tranférer Dossier distant par défaut : chemin du dossier cible sur le serveur (ex : /home/patoche/public_html)
Pressez enfin sur le bouton "Valider" pour enregistrer les données de connexion ou sur le bouton "Connexion" pour enregistrer les données et vous connecter immédiatement.
Les fois suivantes, vous pourrez vous connecter rapidement au serveur en utilisant le menu déroulant que l'on obtient en cliquant sur le deuxième icône sous la barre de menus (petite flèche vers le bas).
Vous pouvez télécharger le client FileZilla (le client, pas le serveur!) depuis ce site Web : Projet FileZilla
Mais où dois-je mettre mes fichiers?
Vous devez obligatoirement créer un répertoire ayant le nom public_html (c'est le serveur Web Apache qui l'exige). Toutes vos pages Web devront être transférées dans ce répertoire.
Tout ce que vous déposerez dans le répertoire public_html sera ensuite accessible à l'URL http://198.245.55.77/~pseudo.
Par exemple, l'usager dont le nom d'utilisateur est "bob" déposera ses fichiers dans le répertoire /home/bob/public_html/. Ses fichiers seront ensuite accessibles à l'URL : http://198.245.55.77/~bob/.
Bases du langage
Variables
Le nom d'une variable commence toujours par un $
.
Pas besoin de les déclarer (la détermination du type se fait lors de l'affectation) :
$qteTotale = 0; // integer $montantTotal = 0.0; // double
PHP est donc un langage faiblement typé.
Et tout comme JavaScript, il est aussi à typage dynamique.
Ainsi il est possible de changer le type d'une variable au milieu d'un script :
$qteTotale = 0; // integer $qteTotale = "Allo toi"; // string
Variables dynamiques
Il est possible de changer dynamiquement le nom d'une variable (remarquez les deux $
) :
$nomVariable = "qteTotale"; $$nomVariable = 4; // revient à faire $qteTotale = 4;
Mais cela est rarement utilisé
Portée des variables
Tous les bouts de codes PHP présents dans un même fichier HTML ne forment qu'un seul script.
Exemple :
<html> <body> Tous les bouts de code PHP présents <?php $langage = "HTML"; ?> dans un même fichier <?php echo $langage; ?> ne forment qu'un seul script. </body> </html>
Sortie :
Tous les bouts de code présents dans un même fichier HTML ne forment qu'un seul script.
Commentaires
Ils sont basés sur C, C++ et les shells Linux.
Commentaires en fin de ligne :
echo "allo"; // bla bla bla echo "allo"; # bla bla bla
Commentaires multilignes
/* bla bla bla bla bla bla bla bla bla */
Types de données
Ce sont :
Nom | Signification | Remarques |
bool, boolean | booléen | TRUE, true, FALSE, false |
int, integer | entier | entier signé sur 32 bits |
float, double, real | virgule flottante | format IEEE 64 bits |
string | chaîne de caractères | entourée de guillemets simples (apostrophes) ou doubles |
array | tableau (type composé) | associatif ou indexé numériquement (sera abordé plus tard) |
object | objet (type composé) | la POO sera abordée plus tard |
resource | ressource | un "handle", pour accéder à quelque chose d'externe au script |
NULL, null | variable sans valeur | |
mixed | pseudo-type | représente plusieurs types possibles (dans la documentation) |
À propos des chaînes de caractères
Peuvent être délimitées par des guillemets ou des apostrophes.
Dans une chaîne à guillemets, une variable sera remplacée par sa valeur.
Exemple avec guillemets :
$n = 3; echo "Il a vu $n oiseaux sur la branche";
Il a vu 3 oiseaux sur la branche
Exemple avec apostrophes :
$n = 3; echo 'Il a vu $n oiseaux sur la branche';
Il a vu $n oiseaux sur la branche
Concaténation de chaînes
Il existe un opérateur de concaténation de chaînes, c'est le point.
echo $nbHobbits . " hobbits"; // revient à écrire echo "$nbHobbits hobbits"; echo 'Il a vu ' . $n . ' oiseaux sur la branche';
Constantes
Elles sont définies à l'aide de la fonction define().
Exemple :
define("MAX", 100); // la constante sera ici insensible à la casse define("ANIMAL", "singe", TRUE);
Cela démontre l'importance accordée aux fonctions en PHP.
Les constantes sont écrites en majuscules par convention.
Afficher une information
echo
et print
Nous avons déjà vu l'instruction echo
pour afficher une chaîne et / ou une variable.
echo
n'est pas une fonction, mais bien une instruction (on dit aussi une "construction") du langage et s'utilise sans parenthèses :
<?php $nb_hobbits = 4; echo "$nb_hobbits hobbits"; // affiche 4 hobbits ?>
Malgré le fait qu'il ne s'agisse pas d'une fonction, echo
accepte aussi une liste de paramètres séparés par des virgules :
<?php $nb_hobbits = 4; echo $nb_hobbits, " ", "hobbits"; // affiche 4 hobbits ?>
Vous verrez parfois sur Internet l' une instruction print
.
Semblable à echo
, elle est moins utilisée car elle est moins performante et n'accepte qu'un seul paramètre :
<?php $nb_hobbits = 4; print "$nb_hobbits hobbits"; print $nb_hobbits, " ", "hobbits"; // erreur ?>
Balise echo
Depuis la version 5.4.0, si le seul but du code PHP est d'afficher la valeur d'une variable, on peut utiliser ce qu'on appelle couramment la "balise echo" :
On peut ainsi remplacer :
<?php echo $variable ?>
par cette variante plus courte :
<?= $variable ?>
Ainsi le code suivant :
<p> J'ai vu passer <?php echo $nb_hobbits; ?> sur le chemin. </p>
devient :
<p> J'ai vu passer <?= $nb_hobbits; ?> sur le chemin. </p>
Notez que le point-virgule est ici facultatif.
Syntaxe Heredoc
Ce qu'on appelle la "syntaxe Heredoc" est utilisée avec l'instruction echo
pour simplifier l'affiche de nombreuses lignes.
Après l'opérateur <<<
, un identifiant est fourni, suivi d'une nouvelle ligne. La chaîne de caractères en elle-même vient ensuite, suivie du même identifiant pour fermer la notation.
Par exemple, on peut remplacer le code suivant :
<?php echo "Trois anneaux pour les rois Elfes sous le ciel,<br>"; echo "Sept pour les Seigneurs Nains dans leurs demeures de pierre,<br>"; echo "Neuf pour les Hommes Mortels destinés au trépas,<br>"; echo "Un pour le Seigneur Ténébreux sur son sombre trône."; ?>
par :
<?php echo <<<FIN Trois anneaux pour les rois Elfes sous le ciel,<br> Sept pour les Seigneurs Nains dans leurs demeures de pierre,<br> Neuf pour les Hommes Mortels destinés au trépas,<br> Un pour le Seigneur Ténébreux sur son sombre trône. FIN; // l'identifiant doit être en début de ligne et seul sur celle-ci! ?>
Nous verrons plus tard que cette approche est très pratique lorsqu'il faut créer dynamiquement de nombreuses lignes de code HTML.
Opérateurs
Arithmétique
Opérateur | Signification |
---|---|
+ | Addition |
- | Soustraction |
* | Multiplication |
/ | Division |
% | Modulo (reste de la division entière) |
** | Exponentiation (x à la puissance y) |
Affectation
Opérateur | Signification |
---|---|
x = y | |
x += y | x = x + y |
x -= y | x = x - y |
x *= y | x = x * y |
x /= y | x = x / y |
x %= y | x = x % y |
Comparaison
Opérateur | Nom | Exemple | Remarque |
---|---|---|---|
== | Égal | $x == $y | |
=== | Identique | $x === $y |
Retourne true si $x est égal à $y et est de même type
$x = 0; $y = "0"; ($x == $y) est true ($x === $y) est false |
!= | Non égal | ||
<> | Non égal | ||
!== | Non identique | $x !== $y |
Retourne true si $x n'est pas égal à $y ou est de type différent
|
> | Plus grand que | ||
< | Plus petit que | ||
>= | Plus grand ou égal à | ||
<= | Plus petit ou égal à | ||
<=> | "Spaceship" | $x <=> $y |
Retourne un entier
|
Incrémentation / décrémentation
Opérateur | Signification |
---|---|
++$x | Pré-incrémentation |
$x++ | Post-incrémentation |
--$x | Pré-décrémentation |
$x-- | Post-décrémentation |
Logiques
Opérateur | Nom | Exemple | Remarque |
---|---|---|---|
&& | ET | $x && $y | Vaut true si $x et $y sont tous les deux vrais |
|| | OU | $x || $y | Vaut true si $x ou $y est vrai |
xor | OU exclusif | $x xor $y | Vaut true si $x ou $y est vrai, mais pas les deux |
! | NON | !$x | Vaut true si $x est faux |
Chaînes de caractères
Opérateur | Nom | Exemple | Remarque |
---|---|---|---|
. | Concaténation | $chaine1 . $chaine2 | Concaténation de $chaine1 et $chaine2 |
.= | Concaténation et affectation | $chaine1 .= $chaine2 | Ajoute $chaine2 à $chaine1 |
Structures de contrôle
Conditionnelles
Ce sont les mêmes que vous avez utilisé jusqu'ici en C# et en JavaScript. Nous nous contenterons donc de présenter quelques exemples.
if else
Exemple :
$age = 17; if ($age >= 18) { echo 'Vous pourrez voter'; } else { echo 'Vous ne pourrez pas voter'; }
switch case
Exemple :
$age = 17 switch($age) { case 15: echo 'Vous avez 15 ans'; break; case 16: case 17: echo 'Vous avez 16 ou 17 ans'; break; case 18: echo 'Vous avez 18 ans'; break; default: echo 'Vous avez ' . $age . ' ans'; }
Boucles
Lâ aussi ce sont les mêmes que vous avez utilisé jusqu'ici en C# et en JavaScript.
while
Exemple :
// Affiche 0 1 2 3 4 5 6 7 8 9 $compteur = 0; while ($compteur < 10) { echo $compteur . " "; $compteur++; }
do while
Exemple :
// Affiche 0 1 2 3 4 5 6 7 8 9 $compteur = 0; do { echo $compteur . " "; $compteur++; } while ($compteur <= 10);
for
Exemple :
// Affiche 0 1 2 3 4 5 6 7 8 9 for ($compteur = 0; $compteur < 10; $compteur++) { echo $compteur . " "; }
Soyez vigilants : il y a parfois tellement de "$" qu'il est facile d'en oublier un!
foreach
Le foreach
est utilisé avec les tableaux, sujet qui sera abordé une autre fois.
Exemple :
$voyelles = ['a', 'e', 'i', 'o', 'u', 'y']; // à chaque tour de boucle, $lettre contient une nouvelle valeur du tableau foreach ($voyelles as $lettre) { echo $lettre; }
break et continue
Exemples :
$tab = [0, 2, 4, 5, 6, 8]; for ($i = 0; $i < sizeof($tab); $i++) { echo $tab[$i] . ", "; } // Affiche 0, 2, 4, 5, 6, 8,
$tab = [0, 2, 4, 5, 6, 8]; for ($i = 0; $i < sizeof($tab); $i++) { if ($tab[$i] % 2 != 0) { break; } echo $tab[$i] . ", "; } // Affiche 0, 2, 4,
$tab = [0, 2, 4, 5, 6, 8]; for ($i = 0; $i < sizeof($tab); $i++) { if ($tab[$i] % 2 != 0) { continue; } echo $tab[$i] . ", "; } // Affiche 0, 2, 4, 6, 8
Afficher des informations sur la configuration de PHP
Vous aurez régulièrement au long de la session à vérifier la configuration du serveur qui interprète vos scripts. Vous aurez besoin, entre autres choses, de savoir...
- quelle est la version de PHP utilisée;
- quelles sont les extensions installées;
- quelle est la valeur de certaines variables prédéfinies;
- etc.
On peut facilement obtenir toutes ces informations en appelant simplement la fonction phpinfo().
Exemple (sur 198.245.55.77) :
<?php phpinfo(); ?>
Sortie (partielle) :
Récupérer les données d'un formulaire
Voyons pour terminer comment récupérer dans un script PHP les données envoyées par le client à l'aide d'un formulaire.
Ce sujet sera abordé en détail plus tard. Il ne s'agit ici que d'un avant-goût!
Les données (paramètres) d'un formulaire sont directement accessibles dans le script PHP grâce à leur nom.
Il est donc important de choisir avec soin le nom des données.
Le formulaire (côté client)
Le formulaire suivant permet la saisie de la largeur et de la hauteur d'un rectangle :
<!-- Remarque : aucune validation côté client --> <form action="superficie.php"> <fieldset> <legend>Calcul de la superficie d'un rectangle</legend> <label for="larg">Largeur (cm)</label> <input type="text" id="larg" name="largeur"> <br> <label for="haut">Hauteur (cm)</label> <input type="text" id="haut" name="hauteur"> <br> <input type="submit" value="Calculer"> </fieldset> </form>
Un clic sur le bouton envoie les données au script superficie.php
Le script (côté serveur)
Contenu du fichier superficie.php :
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <title>Calcul de la superficie d'un rectangle</title> </head> <body> <p> <?php echo 'La superficie du rectangle est de ' . $_GET['largeur'] * $_GET['hauteur'] . " cm<sup>2</sup>"; ?> </p> </body> </html>
La variable "auto-globale" ou "globale automatique" $_GET
est un tableau créé automatiquement et qui contient toutes les données envoyées par la méthode GET (méthode par défaut).
Essayez ce programme avec toutes sortes de valeurs :
Exercices formatifs
Exercice 0
En partant de l'exemple précédent, ajoutez la validation des paramètres de la requête côté serveur. Si l'un des deux paramètres est invalide ou manquant, un message doit s'afficher pour indiquer la nature du problème.
Les valeurs reçues doivent être des nombres (entiers ou réels) dans l'intervale [1, 1000].
Les fonctions empty() et is_numeric() pourraient vous être utiles.
Essayez la version avec validation (la solution sera donnée au prochain cours) :
Exercice 1
Dans cet exercice vous devez créer deux fichiers : exercice1.html et bonjour.php.
Le fichier exercice1.html contient un formulaire qui permet d'entrer un prénom et un nom et d'envoyer ces données au script PHP.
Le fichier bonjour.php affiche un gentil message incluant le prénom et le nom reçus en paramètres (voir exemple) et offre un hyperlien pour retourner à la page HTML.
Bonjour Prénom Nom! Bienvenue à votre cours de PHP!
Retour
En l'absence du nom et du prénom, la sortie sera :
Bonjour Inconnu(e)! Bienvenue à votre cours de PHP!
Retour
Remarque : les fonctions trim() et strlen() pourraient vous être utiles!
Déployez cette petite application sur le serveur et envoyez l'URL de la page HTML à votre professeur.
Cet exercice est facile, mais va nous permettre de vérifier que tout le monde est en mesure d'utiliser les outils indispensables au cours.
Questions et exercices de révision
Nous ne fournirons pas les réponses à ces questions pour deux bonnes raisons. La première est que celles-ci se trouvent dans les notes de cours. La seconde est que, dans certains cas, ce serait presque donner la réponse à des questions d'examen.
Question 1
En quelle année et par qui a été inventé PHP?
Question 2
Donnez la différence entre une chaîne encadrée par des guillemets et une autre encadrée par des apostrophes.
Question 3
Donnez le code pour créer la constante VITESSE_MAX ayant comme valeur 50.
Question 4
Donnez l'instruction qui peut dans la plupart des cas remplacer echo
.
Question 5
Écrivez en PHP l'expresion "10 à la puissance 5" (ou "10 exposant 5").
Question 6
Expliquez pourquoi le résultat du code suivant est différent si on remplace l'opérateur ==
par ===
.
$a = 5; $b = 10; $c = 0; $exp = $a > $b; if ($exp == $c) { echo "foo"; } else { echo "bar"; }
Question 7
Que peut-on dire de $b
et de $c
si, dans l'expression suivante, $a
est positif?
$a = $b <=> $c
Question 8
Donnez la sortie du code suivant :
$x = "6789"; $y = ' 012345'; $x .= trim($y); echo $x;
Question 9
Donnez la différence entre les instructions break
et continue
.
Question 10
À l'aide de la fonction phpinfo(), donnez la version de PHP installé sur notre serveur d'hébergement (198.245.55.77).