Mini-cours de PHP - MySQL

Partie I

Aujourd'hui, jour J-1.

Avant d'apprendre les bases du PHP en moins d'une heure, il faut faire une installation.

Installation du trio Apache-PHP-MySQL

L'étude du JavaScript a été placée avant celle du PHP car elle ne nécessite pas d'installation. Un navigateur web et un éditeur de texte suffisent. De plus, les effets sont suffisamment spectaculaires pour susciter la curiosité et donc l'envie d'apprendre.

Comme les fichiers PHP sont envoyés par un serveur, il faut installer un serveur. Celui qui sera installé se nomme Apache - comme pour le nom d'une tribu d'Indiens -, car il est gratuit et performant, tout comme le couple PHP-MySQL. D'ailleurs, le tiercé gagnant est Apache-PHP-MySQL. Et, ils peuvent être tous installés en même temps (ce qui est même recommandé).

Quoi ? On va installer un serveur sur mon petit ordinateur ?

Oui, car votre ordinateur n'est pas si petit que cela. Il a toute la puissance voulue pour apprendre PHP-MySQL, écrire les fichiers PHP et tester votre site web dynamique.

Donc, mon serveur va envoyer les fichiers à mon navigateur ? Mais, ils sont tous deux sur la même machine, mon ordinateur ! Mon ordinateur va s'envoyer des fichiers à lui-même ?

Oui. Dans votre ordinateur, il existe une sorte de gare. Des trains partent (vers internet), d'autres arrivent (d'internet). Lors de l'installation du serveur Apache, deux lignes spéciales vont être créées entre lui et cette gare (une pour l'envoi au navigateur, l'autre pour les demandes du navigateur). Vous ne verrez aucune différence par rapport à un vrai serveur situé sur internet. La seule différence se trouve dans l'adresse du fichier demandé (son URL). Elle débutera toujours par http://localhost/.

Une fois votre site web testé (en local), il suffira de faire un copier/coller pour envoyer les fichiers PHP sur un vrai serveur (on-line 24h sur 24).

Plus d'info sur localhost

L'installation est la seule partie de ce mini-cours un peu compliquée.

La gare située sur votre "petit" ordinateur est immense. Elle dispose d'environ 65.000 quais de gare (lignes). Chaque programme utilisent des lignes différentes (appelées port en informatique). Chaque ligne a un numéro. En général, chaque programme utilise deux numéros de ligne (une pour les trains qui partent et une pour les trains qui arrivent). Votre "petit" ordinateur peut donc utiliser théoriquement jusqu'à 30.000 programmes pour communiquer - en même temps ! - avec l'extérieur. Évidemment, pour éviter les collisions, deux trains ne peuvent pas circuler sur la même ligne.

Plus d'info sur le port (informatique)

Pour installer Apache, pour la première fois, le mieux est de lire le guide d'installation. Puis, de relire ce guide d'installation, prendre des notes sur une feuille de papier. Télécharger la bonne version du logiciel d'installation, puis allez dormir !

Le lendemain, on relit le guide d'installation, on relit ses notes. On choisit une heure durant laquelle on ne sera pas dérangé, si possible au matin. Et, surtout, on se dit  : Attention ! Je vais rester concentré jusqu'à la fin de l'installation. Et, on se dit : Ok, maintenant, j'ai compris, j'ai mes feuilles de papier à côté de moi, j'ai une heure devant moi, j'ai demandé à ce qu'on me dérange pas, j'ai compris, je suis prêt, je saurai quoi répondre lorsque les questions apparaîtront, c'est parti ! Je lance le logiciel d'installation.

Le pare-feu

Le pare-feu est le chef de gare. Pour que des "ennemis" n'entrent pas dans la gare, par défaut, il ferme toutes les lignes de la gare sauf celles utilisées par les logiciels autorisés. Lors de son installation, Apache demandera l'ouverture de nouvelles lignes. Le pare-feu de Windows vous demandera ce qu'il faut faire. Acceptez.

Plus d'info sur le pare-feu

Lors de l'installation, il vous sera peut être demandé de donner un mot de passe à root. Root est le gestionnaire de la base de données MySQL. Si vous en donnez un, ne l'oubliez pas ! Notez le bien sur votre feuille.

L'installation d'un serveur est plus complexe que celle d'un logiciel où la réponse à chaque question est "OK". Un logiciel s'installe en 10 secondes. Ici, il faut bien lire la question avant de répondre. Restez calme et répondre. Si vous avez bien lu le guide d'installation, vous connaissez la réponse à donner. En cas d'erreur, les fichiers de configuration contiendront des erreurs. Et, corriger les fichiers de configuration d'un serveur peut prendre des heures !

Ici, on ne peut pas faire comme à l'école. On ne peut pas répondre : Oui, oui, j'ai bien compris. en espérant que le professeur ne dise pas : Très bien, alors dis nous ce que tu as compris.

Ici, il y n'a pas de professeur. Tu es seul face à un ordinateur. Si tu n'as pas compris, l'installation sera ratée.

Mais, pas de panique, si tu as bien compris, tu réussiras. Et, tu seras fier de toi. Tu ne seras plus comme les autres qui ne savent qu'installer des logiciels c'est-à-dire cliquer sur OK, OK, OK, ... Toi, tu auras réussi à installer un serveur comme un pro. Du premier coup ! Tu te diras même : Bah ! Finalement, c'est aussi simple qu'avec un logiciel. D'ailleurs, c'était un logiciel d'installation !

J'ai dit qu'il fallait avoir une heure devant soi. Mais, en réalité, l'installation dure moins de 5 minutes. Moins d'une minute, si tu as l'habitude d'installer Apache. Mais, dans ce cas, tu connais les réponses par coeur. Et, tu n'es plus un débutant.

Pour un débutant, il suffit de prendre son temps. Ce n'est pas difficile.

XAMPP

2024-03-29

  1. Choisir une version compatible avec les versions PHP et MySQL de votre hébergeur.

    Inutile de télécharger la dernière version de XAMPP, si votre hébergeur ne vous autorise à utiliser que du PHP 5

  2. Télécharger XAMPP (ici, version 8.2.12 => PHP 8.2.12)
    xampp-windows-x64-8.2.12-0-VS16-installer.exe

    La version de XAMPP correspond à celle du PHP.
    Pour éviter tout virus, ne télécharger que depuis apachefriends.org

  3. Après avoir double-cliqué sur l'exécutable
  4. Car UAC n'a pas été désactivé avant l'installation de XAMPP.

    => Choisir comme dossier d'installation C:\xampp8

  5. Ici, seuls MySQL et phpMyAdmin sont cochés.
  6. Le dossier proposé était C:\xampp ...

    Ici, C:\xampp8 car il existait une précédente installation.

  7. Ici, l'installation a duré 2 minutes 20 secondes.
    Bien attendre l'affichage de l'écran ci-dessous.
  8. Après avoir laissé coché et cliqué sur le bouton "Finish"

    Cliquer sur le bouton "Quit" pour fermer les serveurs
    (Au bas de la liste des boutons situés à droite)
Problème après avoir cliqué sur "Quit"

On peut corriger ce problème en modifiant la propriété du fichier xampp-control.exe

Cocher "Exécuter ce programme en tant qu'administrateur"

Le logiciel demandera, à chaque lancement, le mot de passe de l'administrateur windows.
Et, il se fermera normalement.

Pour lancer la fenêtre de contrôles [des serveurs], il suffit de créer un raccourcis vers le fichier xampp-control.exe. (Ici, C:\xampp8\xampp-control.exe

Pour créer un site web accessible au serveur Apache, il suffit de créer un dossier (ici, mon_site) dans le dossier C:\xampp8\htdocs

Pour créer la page d'accueil de ce site, il suffit de créer le fichier index.php, dont le contenu peut être ce code.

Pour lancer le serveur Apache (utilisant le PHP 8.2.12), il suffit de cliquer sur le bouton "Start" sur la ligne débutant par "Apache".

Le serveur Apache a été lancé (vert).

Pour afficher la page d'accueil, il suffit de lancer un navigateur web et de taper dans la barre des URL : localhost/mon_site

Après le lancement de Xampp

18:20:03  [main]  Initializing Control Panel
18:20:03  [main]  Windows Version:  Home  64-bit
18:20:03  [main]  XAMPP Version: 8.2.12
18:20:03  [main]  Control Panel Version: 3.3.0  [ Compiled: Apr 6th 2021 ]
18:20:03  [main]  Running with Administrator rights - good!
18:20:03  [main]  XAMPP Installation Directory: "c:\xampp8\"
18:20:03  [main]  Checking for prerequisites
18:20:04  [main]  All prerequisites found
18:20:04  [main]  Initializing Modules
18:20:04  [main]  The FileZilla module is disabled
18:20:04  [main]  The Mercury module is disabled
18:20:04  [main]  The Tomcat module is disabled
18:20:04  [main]  Starting Check-Timer
18:20:04  [main]  Control Panel Ready

Il ne faut lancer 2 versions de Xampp durant une même session Windows.

En cliquant sur le bouton "Config", en haut de la liste des boutons située à droite, s'affiche :

Permet de régler le lancement automatique de serveurs

Anciennes captures d'écran (2018), autre tutoriel

WAMP

Cette installation n'est plus recommandée.

Les explications concernent la version WampServer 3.0.6 32 bit x86
contenant : Apache 2.4.23, PHP 5.6.25, MySQL 5.7.14

Captures d'écran, Notes diverses

Le mot de passe de l'administrateur de Windows sera demandé pour installer et lancer WampServer. Donc, il vaut mieux être le propriétaire de son ordinateur.

Maintenant, je te renvoie au guide d'installation :
Préparer son environnement de travail

Si tu as réussi le test de vérification d'une installation réussie, tu peux être fier et tu as bien mérité un peu de repos. Reviens demain.

Et si j'ai raté ? Il faudra recommencer en commençant par désinstaller le logiciel d'installation. Puis, recommencez. Et, si j'échoue à nouveau ? Allez sur internet (par exemple, sur le site de WampServer, site d'Apache (si on connaît l'anglais)), lire beaucoup pour savoir comment réussir une désinstallation complète. Et recommencez jusqu'à la réussite. Pas d'installation réussie, pas d'étude de PHP ! L'installation d'Apache-PHP-MySQL est la seule partie difficile. Et, si vraiment vous n'y arrivez pas, ce n'est pas la catastrophe. Demandez à un autre de faire l'installation.

Si vous avez raté, vous êtes comme moi. En fait, je n'ai pas raté ma première installation, mais ma seconde. J'avais changé d'ordinateur, le logiciel d'installation était différent, mais j'étais trop confiant et trop pressé. Je n'ai pas pris le temps de bien lire le guide d'installation. Résultat : Je me suis planté ! Et, au lieu de gagner du temps, j'ai perdu des heures.

Si je vous demande d'être attentif lors d'une installation, c'est pour vous éviter de faire la même erreur et perdre beaucoup de temps.

Si vous réussissez l'installation, vous pouvez être fier. Mais si vous la ratez, il ne faut pas être honteux, car cela arrive même à ceux qui ont étudié le PHP. Et surtout, si vous ratez l'installation d'Apache-PHP-MySQL, cela ne prouve pas que vous n'êtes pas capable de réussir brillamment l'étude de PHP. Ce n'est pas parce que vous ne savez pas remplacer un moteur d'avion que vous serez pas un très bon commandant de bord.

Après l'installation, lorsqu'on lance WampServer, après la brève apparition et disparition d'une console - phénomène normal - les serveurs (Apache et MySQL) seront lancés automatiquement.

Pour arrêter ou redémarrer les serveurs, lancer le navigateur web sur localhost, accéder à MyPhpAdmin, vérifier la version de MySQL ou de PHP, verifier les extension de PHP, il faut passer par l'icône représentant un W (pour WampServer). Lorsqu'elle est verte , cela signifie que les serveurs fonctionnent bien.

Après un clic gauche sur s'affiche :

N'oubliez pas d'arrêter les services avant de fermer votre système d'exploitation. Il est toujours préférable de fermer ce qu'on a ouvert.

Firefox

Un fichier d'extension *.php peut contenir du code HTML et aucune instruction PHP ...
et être sur le disque dur ...

Dans ces conditions, Firefox affichera une page web, alors que les autres navigateurs afficheront le code-source.

Aperçu

Fichier *.php sur le disque dur :

3 navigateurs affichent le code source (et, dans l'onglet, le nom du fichier : "firefox.php")
Firefox affiche la page web (et, dans l'onglet, le titre de la page : "Firefox")

Cette particularité peut être exploitée ...
Notons que Firefox prétend que la page n'est pas sur le disque dur ! Alors que le protocole est bien : file:///

Même fichier *.php sur un serveur :

Les 4 navigateurs appellent le même fichier sur le serveur.
Notons l'icône à gauche du titre de la page.

Exemple