La cuisine équipée
Plutôt que d'acheter un four, une plaque et un frigo séparément puis de tout brancher, on loue une cuisine équipée : XAMPP livre Apache, PHP, MySQL et phpMyAdmin déjà reliés entre eux.
Installer XAMPP, démarrer Apache et MySQL, régler les ports, ranger son projet dans htdocs, activer les extensions PHP (PDO) et équiper VS Code.
Pour développer le site de Souk Atlas, il faut un serveur web, PHP et MySQL sur votre propre PC. Plutôt que d'installer et de relier ces trois logiciels un par un, on utilise un paquet tout-en-un : XAMPP. Cette leçon prépare le poste de travail que vous utiliserez jusqu'à la fin du module.
Au lancement, aucun service ne tourne : Apache et MySQL sont arrêtés.
Il existe des équivalents : WAMP (Windows), MAMP (macOS), Laragon. En entreprise, on utilise aussi des conteneurs Docker. Le principe ne change pas : un serveur web, PHP et une base de données sur la machine du développeur.
Installation en bref :
C:\xampp (évitez C:\Program Files, à cause des droits d’écriture).http://localhost/ : la page d’accueil de XAMPP s’affiche.Points de configuration à connaître :
Listen 80 (HTTP) et Listen 443 dans httpd-ssl.conf (HTTPS).DocumentRoot ; http://localhost/souk/ correspond au dossier C:\xampp\htdocs\souk\.DirectoryIndex index.php index.html ; c’est pour cela que http://localhost/souk/ ouvre index.php.apache\logs\error.log ; c’est le premier endroit à lire quand Apache refuse de démarrer.; extensions nécessaires au module
extension=pdo_mysql ; PDO pour MySQL (leçons C)
extension=mbstring ; chaînes avec accents
extension=fileinfo ; type réel des fichiers envoyés
extension=openssl ; chiffrement, HTTPS
; pendant le développement
display_errors = On
error_reporting = E_ALL
; envoi de fichiers
upload_max_filesize = 2M
post_max_size = 8M
Pour vérifier la configuration réelle, on crée un fichier info.php contenant <?php phpinfo(); et on l’ouvre dans le navigateur : il liste la version, le php.ini chargé et les extensions actives.
Accès : http://localhost/phpmyadmin. Le compte par défaut de XAMPP est root sans mot de passe : c’est celui que vos scripts utiliseront pour se connecter (new PDO(..., 'root', '')). Pour le projet, créez la base souk et importez le script du module 06.
Extensions conseillées :
php.ini) : points d’arrêt et exécution pas à pas, comme le lab de ce site ;Dans VS Code, ouvrez directement le dossier du projet (Fichier > Ouvrir le dossier > C:\xampp\htdocs\souk), et indiquez à Intelephense où trouver PHP si besoin (php.validate.executablePath).
Plutôt que d'acheter un four, une plaque et un frigo séparément puis de tout brancher, on loue une cuisine équipée : XAMPP livre Apache, PHP, MySQL et phpMyAdmin déjà reliés entre eux.
Si Skype ou IIS occupent déjà le port 80, Apache ne peut pas ouvrir sa porte : c'est comme deux commerces qui voudraient la même adresse. On en déplace un (port 8080).
Dans le panneau XAMPP, Apache passe au vert puis s'arrête aussitôt. Le journal indique « Port 80 in use by ... Skype ». Donnez deux solutions.
1. Fermer (ou désactiver au démarrage) le programme qui occupe le port 80, puis relancer Apache. 2. Changer le port d'Apache : dans httpd.conf, remplacer « Listen 80 » par « Listen 8080 » (et « ServerName localhost:80 » par « localhost:8080 »), redémarrer Apache, puis ouvrir http://localhost:8080/.
Votre projet est dans C:\xampp\htdocs\souk\ et contient index.php et produits.php. Quelles adresses tapez-vous dans le navigateur pour ouvrir ces deux pages ?
http://localhost/souk/ (Apache ouvre index.php tout seul) http://localhost/souk/produits.php
Écrivez un petit script info.php qui affiche la version de PHP et indique si l'extension pdo_mysql est chargée.
<?php echo "PHP " . PHP_VERSION . "<br>"; echo extension_loaded('pdo_mysql') ? "pdo_mysql : activée" : "pdo_mysql : à activer dans php.ini"; // phpinfo(); affiche toute la configuration (à supprimer avant la mise en ligne)