Skip to content
Snippets Groups Projects
Commit 284c79bc authored by Adrien KRÄHENBÜHL's avatar Adrien KRÄHENBÜHL
Browse files

Ajout d'un fichier d'aide pour l'installation et utilisation d'un serveur PHP local

parent 258b0be2
No related merge requests found
Serveur PHP local
=================
Pour l'environnement de travail, l'utilisation d'une usine à gaz comme LAMP ou WAMP est inutile : vous n'avez besoin que de PHP.
Installation sur une ordinateur personnel
-----------------------------------------
### Sous windows
**L'utilisation d'une distribution Linux est fortement recommandée.** Il n'y a pas de méthode "simple" sous Windows. Deux solutions :
1. Installer une distribution Linux en Dual Boot
2. Installer une machine virtuelle avec une distribution Linux => ici [un tuto pour installer Ubuntu avec Hyper-V](https://www.windowscentral.com/how-run-linux-distros-windows-10-using-hyper-v)
### Sous Linux
Il vous faut les droits root pour installer l'ensemble des paquets dont vous aurez besoin en une seule commande :
```bash
$ sudo apt install php sqlite3 sqlitebrowser composer
```
Utilisation
-----------
> *Cette procédure remplace l'utilisation de `public_html` et `webetu`.*
Ce qui suit peut être réalisé :
- sur votre ordinateur personnel si vous avez réalisé l'installation de la section précédente
- sur un bureau à distance de l'IUT depuis `troglo`, `phoenix` ou `cannette`
### Lancement d'un serveur local
La procédure à suivre pour lancer un serveur PHP local est détaillée [dans la doc de PHP](https://www.php.net/manual/fr/features.commandline.webserver.php) dont voici un résumé :
0. On suppose que le répertoire `/chemin/vers/mon/repertoire/de/TP/` sera la racine de l'ensemble des fichiers de votre TP.
1. Ouvrir un terminal
2. Lancer un serveur local dont la racine est ce répertoire :
```bash
$ php -S localhost:port -t /chemin/vers/mon/repertoire/de/TP/
```
avec `port` un entier compris entre 1025 et 65535. Si vous avez un message d'erreur, essayez un autre port.
3. Ouvrir un navigateur à l'URL `http://localhost:port`
### Accéder au serveur local depuis un navigateur
Pour visualiser le rendu d'un fichier PHP par le serveur que vous avez lancé, il suffit d'ajouter son chemin à la fin de l'URL.
Exemples :
| Fichier à visualiser | URL |
|--------------------------------------------------------|----------------------------------------------|
| `/chemin/vers/mon/repertoire/de/TP/signin.php` | `http://localhost:port/signin.php` |
| `/chemin/vers/mon/repertoire/de/TP/rep1/rep2/test.php` | `http://localhost:port/rep1/rep2/signin.php` |
......@@ -39,23 +39,23 @@ Exercice 2 - Générer une liste
2. Écrivez un fichier PHP `listeGet.php` similaire à `liste.php`, où le
nombre d'items à générer est disponible dans **la variable `nbItems` du tableau `$_GET`**. Testez avec Postman et un navigateur. Pensez à ajouter un test pour vérifier que votre variable est un entier et transtypez-la (cast).
3. Écrire un fichier PHP `listePost.php` similaire à `liste.php`, où le
3. Écrivez un fichier PHP `listePost.php` similaire à `liste.php`, où le
nombre d'items à générer est disponible dans **la variable `nbItems` du tableau `$_POST`**. Testez avec Postman.
4. Tester le 3. avec votre navigateur. Pour cela, créez un fichier PHP contenant un **formulaire** avec `listesPost.php` pour action.
4. Testez le 3. avec votre navigateur. Pour cela, créez un fichier PHP contenant un **formulaire** avec `listesPost.php` pour action.
Exercice 3 - Compteur de visites en session
-------------------------------------------
1. Écrire un fichier PHP `counter.php` qui :
1. Écrivez un fichier PHP `counter.php` qui :
- crée ou rétablit une session PHP pour le client
- initialise ou incrémente la variable `$counter` qui sert de compteur
- affiche le nombre de fois que le fichier a été demandé.
Testez avec Postman et le navigateur en appellant plusieurs fois la page `counter.php`. Le chiffre indiqué doit augmenter de 1.
2. Écrire un fichier PHP `resetCounter.php` qui :
2. Écrivez un fichier PHP `resetCounter.php` qui :
1. réinitialise le compteur présent dans la session
2. effectue une demande de redirection vers le fichier `counter.php` (regardez la doc de la directive [`header`](http://php.net/manual/fr/function.header.php)).
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment