Chap 1
Chap 1
Chap 1
Il fonctionne très bien, mais son contenu ne peut pas être mis à jour automatiquement : il faut que le webmaster modifie le code source pour y ajouter des
nouveautés.
C'est justement tout l'objet de ce cours : vous allez apprendre à manipuler PHP et MySQL pour réaliser un site web dynamique.
PHP
C'est un langage que seuls les serveurs comprennent, et qui permet de rendre votre site dynamique
SELECT id, auteur, message, datemsg FROM livreor ORDER BY datemsg DESC LIMIT 0, 10
PHP et MySQL sont disponibles gratuitement et sous licence Open Source. Cela signifie une chose essentielle : vous n'aurez pas à débourser
un centime pour construire votre site web !
Les clients sont incapables de comprendre le code PHP : ils ne connaissent que le HTML et le CSS. Seul le serveur est
capable de lire du PHP. Le rôle de PHP est justement de générer du code HTML, code qui est ensuite envoyé au client de la
même manière qu'un site statique, comme le montre la figure suivante :
« Si le visiteur est membre de mon site et qu'il s'appelle Jonathan, affiche Bienvenue Jonathan sur la page web. En revanche,
si ce n'est pas un membre de mon site, affiche Bienvenue à la place, et propose au visiteur de s’inscrire. »
C'est un exemple très basique de site dynamique : selon que vous êtes un membre enregistré ou non, vous ne verrez pas les
mêmes choses, et n'aurez peut-être pas accès au même contenu.
En résumé
•Il existe deux types de sites web :
• Les sites statiques : réalisés en HTML et CSS, leur contenu ne peut être mis à jour que par le webmaster.
• Les sites dynamiques : réalisés avec d'autres outils comme PHP et MySQL en plus de HTML et CSS, ils permettent aux
visiteurs de participer à la vie du site, de poster des messages… bref, de rendre le site vivant !
•Les visiteurs du site sont appelés les "clients". Ils demandent au serveur qui héberge le site de leur transmettre les pages web.
•PHP est un langage exécuté par le serveur. Il permet de personnaliser la page en fonction du visiteur, de traiter ses messages,
d'effectuer des calculs, etc. Il génère une page HTML.
•MySQL est un système de gestion de bases de données. Il se charge du stockage des informations (liste des messages, des
membres…).
Dans le prochain chapitre, nous allons voir comment vous préparer pour commencer à coder !
Préparez votre environnement de travail
Nous savons désormais que PHP s'exécute sur le serveur, et que son rôle est de générer des pages web. Cependant, seul un
serveur peut lire du PHP ; or, votre ordinateur n'est pas un serveur.
Mais alors comment créer un site dynamique si PHP ne fonctionne pas chez moi ?
Qu'à cela ne tienne : nous allons temporairement transformer votre ordinateur en serveur pour que vous puissiez exécuter
du PHP et travailler sur votre site dynamique.
Ayez en tête les outils de base pour créer un site statique
Les webmasters qui créent des sites statiques avec HTML et CSS ont de la chance, ils ont en général déjà tous les
programmes dont ils ont besoin :
1.Un éditeur de texte.
2.Un navigateur web.
Un éditeur de texte
Utilisez les outils pour créer un site dynamique
Pour que votre ordinateur puisse lire du PHP, il faut qu'il se comporte comme un serveur.
Rassurez-vous : vous n'avez pas besoin d'acheter une machine spéciale pour cela !
Il suffit simplement d'installer les mêmes programmes que ceux que l'on trouve sur les serveurs qui délivrent les sites web aux internautes.
Quels sont les programmes que je dois installer ?
Apache
C'est ce qu'on appelle un serveur web. Il s'agit du plus important de tous les programmes, car c'est lui qui est chargé de délivrer les pages web aux visiteurs.
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
C'est un plug-in pour Apache qui le rend capable de traiter des pages web dynamiques en PHP. En clair, en combinant Apache et PHP, notre ordinateur sera
capable de lire des pages web en PHP.
MySQL
C'est le logiciel de gestion de bases de données dont je vous ai parlé avant. Il permet d'enregistrer des données de manière organisée (comme la liste des membres
de votre site). Nous n'en aurons pas besoin immédiatement, mais autant l'installer de suite.
Tous ces éléments sont libres et gratuits.
Installez MAMP 4.2 si vous êtes sous Windows ou Mac
Il existe plusieurs "paquetages" pour Windows et Mac. Je vous propose d'utiliser MAMP, qui marche à la fois pour Windows et pour Mac. Il a l'avantage
d'être régulièrement mis à jour.
En résumé
Pour créer des sites web dynamiques, nous devons installer des outils qui transforment notre ordinateur en serveur, afin de pouvoir tester notre site.
Les principaux outils nécessaires sont :
• Apache, le serveur web.
• PHP, le programme qui permet au serveur web d'exécuter des pages PHP.
• MySQL, le logiciel de gestion de bases de données.
Bien qu'il soit possible d'installer ces outils séparément, il est plus simple pour nous d'installer un paquetage tout prêt : MAMP sous Windows et macOS, ou
XAMPP sous Linux.
Il est conseillé d'utiliser un éditeur de texte qui colore le code source, comme Visual Studio Code, pour programmer convenablement en PHP. Pour les
personnes plus expérimentées qui travaillent sur de gros projets, je recommande PHPStorm.
Reconnaissez la forme d'une balise PHP
Pour utiliser du PHP, on va devoir introduire une nouvelle balise… et celle-ci est un peu spéciale.
Et se termine par?>
C'est à l'intérieur que l'on mettra du code PHP (ce que je vais vous apprendre tout au long de ce cours).
<?php ?>
À l'intérieur, on écrira donc du code source PHP :
l existe d'autres balises pour utiliser du PHP ; par exemple :
<? ?>
<% %>
<?= ?>
Ne soyez donc pas étonné si vous en voyez.
<?php ?> est la forme la plus correcte ; vous apprendrez donc à vous servir de cette balise et non pas des autres.
On peut placer une balise PHP n'importe où dans le code
<!DOCTYPE html>
<html>
<head>
<title>Ceci est une page de test avec des balises PHP</title>
<meta charset="utf-8" />
</head>
<body>
<h2>Page de test</h2>
<p>
Cette page contient du code HTML avec des balises PHP.<br />
<?php /* Insérer du code PHP ici */ ?>
Voici quelques petits tests :
</p>
<ul>
<li style="color: blue;">Texte en bleu</li>
<li style="color: red;">Texte en rouge</li>
<li style="color: green;">Texte en vert</li>
</ul>
<?php
/* Encore du PHP
Toujours du PHP */
?>
</body>
</html>
Affichez du texte
Ici, la première instruction que nous allons découvrir permet d'insérer du texte dans la page web. Il s'agit de l'instruction echo, la plus simple et la plus basique
de toutes les instructions que vous devez connaître.
Il doit se trouver :
ou /Applications/MAMP/www
Quel que soit votre système d'exploitation, l'essentiel est que le fichier soit enregistré dans le dossier www si vous utilisez MAMP ou WAMP (ou un de ses
sous-dossiers) ; sinon le fichier PHP ne pourra pas s'exécuter !
Allez à l'adresse http://localhost/tests ou http://localhost:8888/tests (selon votre configuration). Une page web s'ouvre, indiquant tous les fichiers qui se
trouvent dans le dossier tests . Vous devriez avoir le fichier affichertexte.php .
Cliquez dessus : votre ordinateur génère alors le code PHP puis ouvre la page.
Le même résultat peut être obtenu dans votre navigateur, en allant directement à l'adresse suivante : http://localhost/www/affichertexte.php.
La méthode devrait être quasiment la même, que vous soyez sous Windows, Mac OS X ou Linux.
Si vous utilisez le serveur local de PHP, vous pouvez sauvegarder le fichier où vous le souhaitez, mais en contrepartie vous devez toujours démarrer le serveur
au niveau d'un dossier contenant le fichier à exécuter.
En résumé
Les pages web contenant du PHP ont l'extension .php
Une page PHP est une simple page HTML qui contient des instructions en langage PHP.
Les instructions PHP sont placées dans une balise ouvrante et fermante : <?php ?>
Il est possible d'ajouter des commentaires en PHP pour décrire le fonctionnement du code. On utilise pour cela les symboles
// ou /* */
Configurez PHP pour visualiser les erreurs
Avant d'aller plus loin, il est important de faire un petit point à propos de quelque chose que vous allez sans doute beaucoup rencontrer (et ce n'est absolument
pas grave !) : les erreurs.
En effet, lorsqu'un script PHP plante, le comportement par défaut de PHP est de n'afficher qu'une page blanche (une page de navigateur sans contenu).
Pour faciliter notre vie de développeur, il va falloir faire en sorte que les erreurs PHP s'affichent. Sinon, nous aurons de grosses difficultés par la suite pour
comprendre pourquoi nos pages ne marchent pas.
Nous allons utiliser phpinfo() pour localiser le fichier de configuration, puis le modifier.
Je vous invite donc à créer un fichier PHP avec le code qui suit :
<?php
phpinfo();
Enregistrez-le sous le nom info.php dans le dossier accessible pour votre serveur web (normalement htdocs ou www ).
Effectuez une recherche dans le fichier avec le terme error_reporting . S'il n'y a pas écrit error_reporting = E_ALL , remplacez-la
par la bonne valeur.
Ensuite, effectuez une nouvelle recherche dans le fichier avec le terme display_errors . S'il n'y a pas écrit display_errors = On ,
remplacez-la par la bonne valeur.
Enregistrez le fichier.
Relancez le serveur pour qu'il prenne en compte vos modifications. Il suffit de relancer MAMP, par exemple.
Testez l'affichage des erreurs
Nous allons maintenant créer une erreur dans un script PHP pour nous assurer que l'erreur s'affiche dans le navigateur.
Dans le script (que nous avons créé pour afficher les informations relatives à PHP pour le serveur web ; nous l'avions appelé info.php ), retirez une parenthèse,
puis enregistrez le fichier.
<?php
phpinfo(;
Oui, je sais, il manque une parenthèse, c'est une erreur, on le fait exprès.