Introduction
Pour développer des applications web dynamiques localement sur votre ordinateur Windows, vous aurez besoin d'un environnement qui simule un serveur web, une base de données et un interpréteur de langage côté serveur. Heureusement, il existe des "packs" tout-en-un qui simplifient grandement ce processus.
1. Différents Packs Existants : WAMP, XAMPP, EasyPHP
Ces packs logiciels sont des bundles qui regroupent les composants essentiels pour un environnement de développement web local :
- Windows (Système d'exploitation)
- Apache (Serveur web)
- MySQL/MariaDB (Serveur de base de données)
- PHP (Langage de script côté serveur)
Analysons les plus populaires :
1.1. WampServer (WAMP)
- Description : WampServer est un environnement de développement web Windows. Il est très apprécié pour sa simplicité et sa facilité d'utilisation. Il est entièrement open source et est conçu spécifiquement pour Windows.
- Composants inclus : Apache, MySQL, PHP, et PhpMyAdmin (outil de gestion de base de données).
- Avantages :
- Interface utilisateur graphique intuitive pour démarrer/arrêter les services, changer de versions PHP/MySQL/Apache.
- Très stable et fiable.
- Bonne intégration avec l'écosystème Windows.
- Inconvénients :
- Exclusivement pour Windows.
- Moins de modules pré-installés que XAMPP.
- Quand l'utiliser : Idéal pour les débutants sous Windows qui veulent une solution simple et efficace pour le développement PHP/MySQL.
1.2. XAMPP
- Description : XAMPP signifie X (pour tout OS), Apache, MariaDB (remplaçant MySQL), PHP, et Perl. C'est le pack le plus complet et le plus populaire, disponible sur Windows, Linux et macOS.
- Composants inclus : Apache, MariaDB, PHP, Perl, PhpMyAdmin, et souvent des outils comme FileZilla (serveur FTP) et Mercury Mail (serveur de messagerie).
- Avantages :
- Multi-plateforme : Permet une certaine cohérence de l'environnement de développement si vous travaillez sur différents OS.
- Très complet avec de nombreux modules pré-installés.
- Actif et régulièrement mis à jour.
- Inconvénients :
- Peut être un peu plus "lourd" et avoir plus de fonctionnalités que nécessaire pour un débutant.
- La configuration initiale des modules supplémentaires peut être complexe.
- Quand l'utiliser : Excellent pour les développeurs qui ont besoin d'un environnement polyvalent, multi-OS, et qui prévoient d'utiliser d'autres technologies comme Perl ou un serveur FTP local. C'est souvent le choix par défaut pour beaucoup.
1.3. EasyPHP
- Description : EasyPHP est un autre pack pour Windows, connu pour sa portabilité. Il existe en deux versions principales : Devserver (pour le développement local) et Webserver (orienté production).
- Composants inclus : Apache, MySQL, PHP, et PhpMyAdmin.
- Avantages :
- Portabilité : La version Devserver peut être installée sur une clé USB et utilisée sur n'importe quel ordinateur sans installation.
- Interface propre et facile à utiliser.
- Inconvénients :
- Exclusivement pour Windows.
- Moins de fonctionnalités ou d'une communauté moins large que XAMPP.
- Quand l'utiliser : Idéal pour les étudiants ou les développeurs qui ont besoin d'un environnement portable, ou pour ceux qui préfèrent une approche minimaliste.
1.4. Comparaison des Packs
|
Caractéristique |
WampServer |
XAMPP |
EasyPHP |
|
OS supporté |
Windows |
Windows, Linux, macOS |
Windows |
|
DB par défaut |
MySQL |
MariaDB |
MySQL |
|
Composants add. |
PhpMyAdmin |
PhpMyAdmin, Perl, FTP, Mail |
PhpMyAdmin |
|
Facilité d'usage |
Très bonne |
Bonne |
Très bonne, notamment portable |
|
Portabilité |
Non (installation) |
Non (installation) |
Oui (Devserver) |
|
Communauté |
Active |
Très active (plus grande) |
Active |
|
Utilisation |
Débutants, développement PHP |
Polyvalent, toutes plateformes |
Portabilité, développement PHP |
Recommandation : Pour ce cours, nous allons nous concentrer sur XAMPP en raison de sa popularité, de sa richesse fonctionnelle et de sa disponibilité multi-plateforme qui peut être un atout si vous envisagez de travailler plus tard sur Linux ou macOS.
2. Installation et Configuration d'Apache (via XAMPP)
Apache HTTP Server est le serveur web le plus utilisé au monde. C'est lui qui "écoute" les requêtes des navigateurs et "sert" les pages web.
2.1. Étapes d'Installation de XAMPP
- Téléchargement : Rendez-vous sur le site officiel d'Apache Friends : https://www.apachefriends.org/fr/index.html et téléchargez la version de XAMPP pour Windows.
- Exécution de l'installeur :
- Exécutez le fichier .exe téléchargé en tant qu'administrateur (clic droit > "Exécuter en tant qu'administrateur").
- L'installeur peut vous avertir d'un contrôle de compte utilisateur (UAC) ou d'un antivirus. Il est généralement sûr de continuer.
- Suivez les étapes de l'assistant d'installation :
- Sélection des composants : Laissez tous les composants cochés par défaut pour une installation complète (Apache, MySQL, PHP, PhpMyAdmin sont essentiels).
- Chemin d'installation : Choisissez un dossier facile d'accès, par exemple C:\xampp. Évitez les chemins avec des espaces ou des caractères spéciaux.
- Terminez l'installation.
2.2. Démarrage et Gestion d'Apache avec le Panneau de Contrôle XAMPP
Après l'installation, le Panneau de Contrôle XAMPP (XAMPP Control Panel) est l'outil principal pour gérer vos services.
- Lancement du Panneau de Contrôle :
- Il devrait se lancer automatiquement à la fin de l'installation.
- Sinon, cherchez "XAMPP Control Panel" dans le menu Démarrer de Windows ou exécutez xampp-control.exe depuis le dossier d'installation de XAMPP (ex: C:\xampp).
- Démarrage d'Apache :
- Dans le Panneau de Contrôle, localisez la ligne "Apache".
- Cliquez sur le bouton "Start" à côté d'Apache.
- Si tout se passe bien, le texte à côté d'Apache deviendra vert et le numéro de port (généralement 80 et 443) apparaîtra.
- Si le port 80 est déjà utilisé par un autre logiciel (par exemple, Skype, TeamViewer, ou un autre serveur web), Apache ne pourra pas démarrer. Vous devrez soit arrêter le programme en conflit, soit changer le port d'écoute d'Apache (voir section suivante).
- Vérification :
- Ouvrez votre navigateur web et tapez http://localhost/ ou http://127.0.0.1/ dans la barre d'adresse.
- Vous devriez voir la page de bienvenue de XAMPP (le "Dashboard"). Si c'est le cas, Apache est correctement installé et fonctionne.
2.3. Dossier htdocs : Votre Espace de Travail Web
Le dossier htdocs est d'une importance capitale ! C'est le répertoire racine de votre serveur web Apache.
- Localisation : Il se trouve dans votre dossier d'installation de XAMPP, par exemple C:\xampp\htdocs.
- Rôle : Tous les fichiers de vos sites web que vous souhaitez rendre accessibles via http://localhost/ doivent être placés dans ce dossier ou dans des sous-dossiers de celui-ci.
- Exemple :
- Si vous créez un fichier mon_site.html directement dans C:\xampp\htdocs, vous pourrez y accéder via http://localhost/mon_site.html.
- Si vous créez un dossier mon_projet dans C:\xampp\htdocs (donc C:\xampp\htdocs\mon_projet) et que vous y placez un fichier index.php, vous pourrez y accéder via http://localhost/mon_projet/.
2.4. Port par Défaut d'Apache (et comment le changer)
- Port HTTP : Apache utilise par défaut le port 80 pour les requêtes HTTP et le port 443 pour les requêtes HTTPS.
- Conflits de ports : Le problème le plus courant lors du démarrage d'Apache est qu'un autre programme utilise déjà le port 80 (ou 443).
- Comment changer le port d'Apache :
- Dans le Panneau de Contrôle XAMPP, cliquez sur le bouton "Config" à côté d'Apache, puis sélectionnez httpd.conf (pour le port HTTP).
- Le fichier s'ouvrira dans un éditeur de texte. Recherchez la ligne Listen 80.
- Changez 80 par un autre port libre, par exemple 8080 ou 81. Sauvegardez le fichier.
- Si vous changez le port 80, vous devrez également rechercher ServerName localhost:80 et le modifier pour qu'il corresponde à votre nouveau port (ex: ServerName localhost:8080).
- Répétez le processus pour httpd-ssl.conf (pour le port HTTPS) si le port 443 est en conflit (cherchez Listen 443 et changez-le, par exemple, en 4433).
- Redémarrez Apache depuis le Panneau de Contrôle pour que les changements prennent effet.
- Si vous avez changé le port pour 8080, vous devrez désormais accéder à vos sites via http://localhost:8080/.
3. Installation et Configuration de MySQL (ou MariaDB) via XAMPP
MySQL (ou MariaDB, qui est un fork compatible et souvent inclus dans les versions récentes de XAMPP) est le système de gestion de base de données relationnelles le plus populaire pour les applications web.
3.1. Démarrage et Gestion de MySQL avec le Panneau de Contrôle XAMPP
- Démarrage de MySQL :
- Dans le Panneau de Contrôle XAMPP, localisez la ligne "MySQL".
- Cliquez sur le bouton "Start" à côté de MySQL.
- Le texte à côté de MySQL devrait devenir vert et le numéro de port (par défaut 3306) apparaîtra.
- Si MySQL ne démarre pas, vérifiez les journaux d'erreurs (cliquez sur le bouton "Logs" à côté de MySQL). Les conflits de port sont moins fréquents pour MySQL.
- Vérification via PhpMyAdmin :
- PhpMyAdmin est un outil web qui permet de gérer graphiquement vos bases de données MySQL.
- Dans le Panneau de Contrôle XAMPP, cliquez sur le bouton "Admin" à côté de la ligne "MySQL".
- Cela ouvrira PhpMyAdmin dans votre navigateur (généralement à l'adresse http://localhost/phpmyadmin/).
- Si vous voyez l'interface de PhpMyAdmin, MySQL/MariaDB fonctionne correctement.
3.2. Gestion des Utilisateurs et Privilèges Initiaux
Lorsque vous installez XAMPP, la configuration par défaut de MySQL est très permissive pour faciliter le développement, mais elle n'est pas sécurisée pour un environnement de production.
- Utilisateur root par défaut : Par défaut, l'utilisateur root de MySQL n'a pas de mot de passe et peut se connecter depuis localhost.
- Accès à PhpMyAdmin : PhpMyAdmin se connecte initialement avec l'utilisateur root sans mot de passe.
Actions recommandées pour la sécurité (même en développement) :
- Définir un mot de passe pour l'utilisateur root :
- Accédez à PhpMyAdmin (http://localhost/phpmyadmin/).
- Cliquez sur l'onglet "Comptes utilisateurs" (User accounts).
- Trouvez l'utilisateur root avec l'hôte localhost.
- Cliquez sur "Modifier les privilèges" (Edit privileges), puis sur "Modifier le mot de passe" (Change password).
- Saisissez un mot de passe fort et confirmez-le. Cliquez sur "Exécuter" (Go).
- Conséquence : Après cela, PhpMyAdmin ne pourra plus se connecter automatiquement. Vous devrez modifier le fichier de configuration de PhpMyAdmin pour inclure le nouveau mot de passe.
- Configuration de PhpMyAdmin pour le nouveau mot de passe :
- Dans le dossier d'installation de XAMPP, allez dans C:\xampp\phpMyAdmin.
- Ouvrez le fichier config.inc.php avec un éditeur de texte.
- Recherchez la ligne qui ressemble à '$cfg['Servers'][$i]['password'] = ''; (ou similaire).
- Remplacez les guillemets vides par votre nouveau mot de passe : '$cfg['Servers'][$i]['password'] = 'votre_nouveau_mot_de_passe';.
- Sauvegardez le fichier. Rechargez PhpMyAdmin dans votre navigateur. Il devrait maintenant se connecter correctement.
- Création de nouveaux utilisateurs avec des privilèges spécifiques (bonne pratique) :
- Pour vos projets, il est préférable de ne pas utiliser l'utilisateur root. Créez un utilisateur MySQL dédié pour chaque base de données ou projet.
- Dans PhpMyAdmin, sous l'onglet "Comptes utilisateurs", cliquez sur "Ajouter un compte utilisateur" (Add user account).
- Donnez un nom d'utilisateur, un mot de passe fort, et choisissez localhost comme hôte.
- Très important : Cochez la case "Créer une base de données avec le même nom et accorder tous les privilèges" si vous voulez que cet utilisateur ait sa propre base de données. Ou, accordez des privilèges spécifiques à une base de données existante.
- Cela permet une meilleure sécurité et une meilleure isolation entre vos projets.
3.3. Port par Défaut de MySQL
- MySQL utilise par défaut le port 3306.
- Les conflits de port pour MySQL sont rares, car peu d'applications utilisent ce port par défaut. Si cela arrive, vous pouvez modifier le port dans le fichier my.ini de XAMPP (dans le dossier C:\xampp\mysql\bin ou C:\xampp\mysql). Recherchez la ligne port = 3306 et modifiez-la. N'oubliez pas de redémarrer MySQL.
