====== Mise en place de Xampp ======
===== Installation =====
\\ \\
* Décompresser le kit Xampp sur le bureau
* Exécuter le Setup de Xampp : **.\xampp\setup_xampp.bat**
Xampp est une application **portable**. Ce qui signifie que l'on peut librement déplacer le dossier racine après sa mise en place initiale. Toutefois, pour que l'ensemble continue à fonctionner, il faudra systématiquement **ré-exécuter le setup_xampp.bat** car son rôle est de mettre à jour tous les chemins d'accès aux fichiers, de sorte à refléter la position effective du kit. Ces chemins sont écrits en format relatif. Ce qui fonctionne très bien en général, à part pour quelques cas identifiés. \\ \\ Pour se prémunir de ces cas, qui seront rencontrés ultérieurement, il est important de compléter la configuration par deux modifications manuelles supplémentaires consistant à éditer le fichier **php.ini** à partir du dashboard de Xampp et compléter le chemin des deux variables **extension_dir** et **browscap** en y ajoutant, en tête, le lecteur sur lequel est installé Xampp. \\ \\ **Ex.** si Xampp est installé sur le lecteur C, ajouter en tête du chemin **C:**.
===== Démarrage =====
- Exécuter .\xampp\xampp-control.exe
- Démarrer Apache et MySQL selon le besoin
- Dans le navigateur, accès au Dashboard par l'URL [[http://localhost/]]
{{ :bloc2:prog:web:xampp-dashboard.png?600 |Dashboard}}
===== Configuration de Xampp =====
| \\ \\ \\ \\ \\ Cliquer sur le bouton \\ **Config** \\ en haut à droite du Control Panel |{{:bloc2:prog:web:xampp-controlpanelgui-2.png?500|Xampp ControlPanel}}|
| \\ \\ \\ \\ \\ \\ \\ \\ Renseigner le chemin \\ d'accès à Notepad++ \\ pour plus de confort\\ en édition des fichiers \\ de configuration |{{:bloc2:prog:web:xampp-configgui-1.png?300|Xampp Config Panel}}|
===== Configurer Apache =====
Le répertoire de publication par défaut de Xampp est **xampp\htdocs**. En déposant son application sous la forme d'un dossier dans ce répertoire de publication, on y accède dans un navigateur par l'URL
\\ \\ **%%http://localhost/%%**//nom_du_dossier_publié///
\\ \\ Il reste toutefois possible de publier une application via :
* un Alias
* un Serveur virtuel
==== Utiliser un alias ====
| \\ \\ \\ \\ \\ Cliquer sur le bouton \\ **Config** de Apache \\ puis, choisir \\ **httpd-xampp.conf** |{{:bloc2:prog:web:xampp-controlpanelgui-3.png?500|Xampp ControlPanel}}|
[[bloc2:prog:web:apache#alias|Configurer un Alias Apache]]
==== Utiliser un serveur virtuel ====
| \\ \\ \\ Cliquer sur le bouton \\ **Config** de Apache \\ puis, choisir \\ ** [Apache]** pour atteindre ensuite \\ le fichier **apache/conf/extra/httpd-vhosts.conf** \\ dont on demandera l'édition |{{:bloc2:prog:web:xampp-controlpanelgui-4.png?490|Xampp ControlPanel}}|
[[bloc2:prog:web:apache#Serveur Virtuel|Configurer un Serveur virtuel Apache]]
===== Configurer PHP =====
| \\ \\ \\ L'état de la configuration PHP s'obtient par l'accès au menu **Info** dans le Dashboard de Xampp |{{ :bloc2:prog:web:xampp-dashboard-2.png?500 |Xampp Dashboard}}|
| \\ \\ \\ \\ \\ Ce qui donne une page complète à explorer |{{ :bloc2:prog:web:xampp-dashboard-3.png?500 |PHP Info}}|
==== Configuration de PHP via php.ini ====
| \\ \\ \\ \\ La configuration de PHP peut être modifiée en intervenant dans le ficher **php.ini** |{{ :bloc2:prog:web:xampp-controlpanelgui-5.png?500 |Xampp Control Panel}}|
Les modifications les plus courantes consisteront à :
* Activer certaines extensions dont : **mysqli, PDO, intl**
* Paramétrer le comportement : **display_errors, error_reporting**
* En situation de mise au point du code, activer **Xdebug** afin de réaliser une exécution __pas-à-pas__ ([[bloc2:prog:gen:netbeans-config#Execution_pas-a-pas|Voir NetBeans-Config]])
===== PhpMyAdmin =====
PhpMyAdmin est une application graphique écrite en PHP qui permet d'administrer un serveur MySQL.
| \\ \\ \\ \\ \\ Pour y accéder, dans le Control Panel de Xampp, cliquer sur le bouton **Admin** de MySQL. |{{ :bloc2:prog:web:xampp-controlpanelgui-6.png?500 |Xampp Control Panel}}|
| \\ \\ \\ \\ Ce qui ouvrira automatiquement PhpMyAdmin dans une fenêtre du navigateur |{{ :bloc2:prog:web:phpmyadmin.png?500 |}}|
[[bloc3:phpmyadmin|Configurer la sécurité de PhpMyAdmin]]