Travail pratique
ID : A02-TP02
But du TP
- Mettre en place un environnement de développement web sur Windows.
- Rédiger un manuel technique.
Note
Merci de ne pas copier/coller des définitions ou textes issues de Wikipedia ou ChatGPT. Expliquez avec vos propres mots ce que vous avez compris en lisant ces sources ou d'autres.
Travail à réaliser
nginx
-
Installez le serveur web nginx.
- Site officiel (Mainline version)
-
Démarrez nginx et vérifiez son bon fonctionnement en affichant la page web ci-dessous dans votre navigateur web.
-
Ouvrez le fichier principal de configuration de nginx (
nginx.conf
) et parcourez-le.
Fichier hosts
- Configurez le nom de domaine
api-ti.lan
dans le fichierhosts
de Windows. - Accédez à l'URL
http://api-ti.lan
dans votre navigateur web et vérifiez que cela fonctionne.
Questions
-
Comment démarrer et arrêter nginx ?
- Quelles sont les différentes méthodes ?
-
Comment s'assurer que tous les processus nginx sont bien stoppés ?
- Quelles sont les différentes méthodes ?
-
Définitions à comprendre et expliquer :
- loopback
- 127.0.0.1
- localhost
-
Dans le fichier de configuration principal de nginx, où est défini le port sur lequel le serveur web reçoit les requêtes des clients ?
-
Où se trouve le fichier sur votre disque dur correspondant à la page web par défaut affichée par nginx ?
- Où et comment ce chemin d'accès est-il défini dans le fichier de configuration principal de nginx ?
- Quel est le paramètre de configuration permettant d'afficher automatiquement ce fichier sans préciser son nom dans l'URL ? Expliquez techniquement comment ce paramètre fonctionne au niveau du serveur web.
-
Quel est le rôle du fichier
mime.types
dans le dossierconf
de nginx et comment fonctionne-t-il ?- Expliquez techniquement comment ce fichier est utilisé par le serveur web.
PHP
-
Installez PHP (version NTS).
-
Créez le fichier de configuration de PHP (
php.ini
) à partir de l'un des deux modèles fournis dans le répertoire principal de PHP, puis ouvrez-le et parcourez-le. -
Configurez nginx et PHP pour qu'ils fonctionnent ensemble.
-
Créez un fichier
info.php
dans le répertoire où se trouve la page web par défaut de nginx et ajoutez-y le contenu suivant :<?php phpinfo();
. -
Affichez cette page en entrant son URL dans votre navigateur web.
- Vous devriez voir une page web semblable à celle-ci :
-
Configurez la variable d'environnement
PATH
de Windows pour pouvoir exécuter PHP CLI (PHP for the Command Line Interface) via l'invite de commandes (CMD) depuis n'importe quel répertoire.- Vérifiez que cela fonctionne !
- Expliquez techniquement comment fonctionne cette variable d'environnement (que se passe-t-il au niveau de l'invite de commandes Windows).
Xdebug
-
Installez et configurez l'extension PHP Xdebug.
-
Vérifiez que Xdebug est bien installé et configuré.
-
Installez une extension dans votre navigateur web pour facilement démarrer une session de debugging.
-
Créez un fichier
test.php
dans le répertoire où se trouve la page web par défaut de nginx et ajoutez le contenu suivant :<?php echo 'Debug test';
. -
Affichez cette page web en entrant son URL dans votre navigateur web.
-
Activez l'extension de debugging dans votre navigateur web.
- Vous devriez voir une page web semblable à celle-ci :
Questions
-
Quelles sont les différences entre les versions de PHP TS (Thread Safe) et NTS (Non Thread Safe) ?
- Où trouve-t-on l'information indiquant qu'il faut utiliser la version NTS dans notre cas (en dehors de cette page) ?
-
Quelle est la différence entre les versions x64 et x86 de PHP disponibles sur PHP For Windows ?
-
Quelle commande doit-on entrer dans l'invite de commandes Windows (CMD) pour obtenir la version installée de PHP ?
-
Quelles sont les principales différences entre les fichiers modèles de configuration
php.ini-development
etphp.ini-production
?- Pourquoi ces différences ?
Tip
Utilisez la commande fc
dans l'invite de commandes Windows (CMD).
-
À quoi sert la fonction PHP
phpinfo()
? -
À quoi sert l'extension PHP Xdebug ?
-
Comment vérifier que Xdebug est installé et configuré correctement (et que la configuration est effective) ?
IntelliJ IDEA
-
Ouvrez IntelliJ IDEA et installez le plugin PHP.
-
Sur l'écran d'accueil d'IntelliJ IDEA, cliquez sur "Open" et sélectionnez le répertoire
html
de nginx. -
Ouvrez le fichier
test.php
, ajoutez un point d'arrêt (breakpoint) à la première ligne du fichier en cliquant sur le numéro de ligne, puis démarrez l'écoute des connexions de debugging PHP. -
Dans votre navigateur web, activez l'extension de debugging, puis rafraîchissez la page web
test.php
.- Si tout est correctement configuré, la page web "chargera" indéfiniment dans votre navigateur, et la première
ligne de code du fichier
test.php
sera surlignée en bleu dans IntelliJ IDEA.
- Si tout est correctement configuré, la page web "chargera" indéfiniment dans votre navigateur, et la première
ligne de code du fichier
IntelliJ vs PhpStorm
PhpStorm est un IDE spécialisé pour PHP et le développement web, avec des outils PHP prêts à l'emploi (comme CLion pour les langages C et C++). En revanche, IntelliJ IDEA est un IDE polyvalent prenant en charge plusieurs langages, dont PHP via un plugin. Tous ces logiciels sont développés par JetBrains et sont très similaires.
Questions
- Quelle est l'utilité de pouvoir stopper l'exécution du code à un endroit spécifique grâce aux breakpoints ?
Manuel technique
Rédigez un manuel technique permettant de reproduire à l'identique le travail pratique que vous avez réalisé. Le document devra inclure des explications sur les éléments importants à comprendre, notamment les points abordés dans les sections Questions des parties précédentes.
Directives générales
-
Référencez toutes les sources d'informations utilisées pour réaliser le travail pratique et pour la rédaction de votre document. Privilégiez l'utilisation de citations en fin de chapitres et/ou en notes de bas de page, plutôt qu'une liste de sources en fin de document.
-
Prenez des notes au fur et à mesure de la réalisation du travail pratique si vous ne rédigez pas le manuel en parallèle.
-
Ajoutez des images, des illustrations et des captures d'écran pour aider le lecteur à mieux comprendre et suivre les étapes.
-
Utilisez uniquement la forme impersonnelle dans le manuel technique.
Structure du manuel
Votre manuel technique devra inclure les éléments suivants :
Page de garde (sans en-tête ni pied de page)
- Le logo de la HEIA-FR
- Le nom de la formation : Année Passerelle Ingénierie ISC
- Le nom du cours : Technologies Internet
- L'ID du travail pratique : A02-TP02
- Une illustration graphique représentant ce travail pratique
- Vos informations personnelles (nom, prénom, adresse email)
- La date du travail pratique
En-tête (à partir de la deuxième page)
- Le logo de la HEIA-FR
- Le nom de la formation : Année Passerelle Ingénierie ISC
- Le nom du cours : Technologies Internet
- L'ID du travail pratique : A02-TP02
- Vos informations personnelles (nom, prénom, adresse email)
Pied de page (à partir de la deuxième page)
- La numérotation automatique des pages (ex. : N° de la page / # de pages)
- La date du travail pratique
Contenu supplémentaire
- Une table des matières (avec des liens cliquables) après la page de garde.
- Une table des illustrations (avec des liens cliquables) à la fin du document.
Rendu du TP
Le document, au format PDF, est à rendre pour le lundi 30 septembre à 13h, au plus tard, par email (joel.dacomo@hefr.ch).
Le document PDF aura le nom de fichier : API-TI - A02-TP02 - Nom Prénom.pdf
Le TP sera évalué.