1.Introduction

1.1.PHP? C'est quoi? A quoi ça sert?

PHP est un langage de programmation. Il est adapté à la réalisation de scripts (lancés en ligne de commande, en tâche de fond ou autre) mais doit surtout sa notoriété à la facilité qu'il apporte à la mise en place de sites web.
PHP est un langage interprété. Il n'y a pas besoin de compiler (ni déployer) le code avant de pouvoir l'exécuter. Il est donc particulièrement simple à mettre en oeuvre une fois l'interpréteur installé.
PHP peut générer un peu tout type de résultat. Il est donc possible de créer tout type de document texte comme des pages HTML, XML, JSON, JS, CSS, texte brut, etc. mais aussi tout type de document binaire comme des images JPEG, PNG, etc. des documents PDF, des fichiers ZIP, etc.
PHP peut s'interfacer avec de nombreuses applications. Il est donc possible d'interroger et d'écrire dans de nombreux types de bases de données (MySQL, PostreSQL, Oracle, SQLite, etc.), des serveurs LDAP, etc. Il est possible d'envoyer des mails, etc.
PHP pour internet
Cela peut paraître difficle à imaginer maintenant mais il faut bien garder à l'esprit qu'à l'origine le web était uniquement composé de pages statiques écrites simplement en HTML. On entend par pages statiques des pages qui ne changent pas tant que personne ne vient en modifier le code. Dans ces conditions, il était, par exemple, impossible au site internet de retourner un résultat de recherche basé sur une requête soumise par un visiteur (impossible de consulter une base de données, impossible d'envoyer un mail, etc.).
Les serveurs hébergeant les sites internet ont dû évoluer pour offrir plus de souplesse. Pour cela, ils ont intégré la possibilité d'exécuter des scripts afin de générer un document HTML et de le renvoyer à l'utilisateur (en d'autres termes d'afficher le résultat dans le navigateur de l'utilisateur). On parle alors de page web dynamique. Cela s'est d'abord fait via un protocole CGI puis par des modules que des sociétés ou des passionnés ont pu développer.
C'est dans ce contexte que le langage de script PHP est né (lui aussi initialement dans une forme CGI et maintenant sous forme de module qui vient s'intégrer au serveur web -que ce soit Apache, IIS ou autre- ou bien sous forme de serveur FPM - basé sur fast-CGI).

1.2.Principe de fonctionnement

Avant de commencer à coder en PHP, regardons de plus près le principe de fonctionnement qui a été évoqué précédemment. Il faut garder à l'esprit que lorsque vous tapez une URL (adresse de site internet) depuis votre navigateur (appelé client) vous demandez en fait à un serveur (un logiciel tournant généralement sur une machine distante) de vous retourner une page. S'il s'agit d'un page HTML (ou tout document statique comme une image) alors cette page sera retournée telle quelle (telle qu'elle a été écrite par le "programmeur" ou le "web designer"). Dans le cas d'une page PHP, cela est un poil plus complexe. Comme l'explique le schéma suivant:
Quand un script PHP est appelé, il passe par le serveur Web (ici Apache). Si l'extension du fichier correspond à ce que l'on a défini comme étant l'extension PHP (généralement .php voire .php5, .php4 ...), le serveur demande à l'interpréteur PHP d'exécuter le code PHP contenu dans le fichier. L'exécution de ce code PHP entrainera éventuellement un échange d'informations avec la base de données (ou d'autres systèmes). Au final, c'est (généralement) une page HTML (avec éventuellement du Javascript, du SVG... enfin tout ce que les navigateurs peuvent comprendre) qui est retourné par le script PHP et renvoyé au serveur web (Apache). Le résultat est émis vers le navigateur. FIN du parcours.

1.3.Comment tester ?

1.3.1.Un script PHP en ligne de commande

Pour tester un bout de script PHP en ligne de commande, vous devrez installer un interprêteur PHP puis lancer la commande "php <nom du script php>". Autrement dit taper "php" suivi du nom du script PHP. Vous verrez alors apparaître dans la console le résultat du script PHP (si ce dernier affiche quelque chose).

1.3.2.Une page Web PHP

Du paragraphe précédent, vous avez normalement déduit que vous ne pouvez pas lire un fichier PHP (avec une extension du type .php) aussi simplement que vous pouvez le faire avec un fichier HTML. Vous ne pouvez, en effet, pas vous contenter de faire appel à l'option "ouvrir fichier" de votre navigateur (ni cliquer-glisser le script dans votre navigateur). Tout comme pour un script en ligne de commande, il faut un interprêteur PHP. Cette fois-ci, en revanche, il doit être intégré au serveur web. Il vous faudra ensuite, dans un navigateur, saisir l'adresse (l'URL) correspondant à l'emplacement de ce fichier sur le serveur pour en obtenir le résultat.
Pour disposer d'un serveur web pour des tests et développement, vous avez 3 grandes options:
  • Passer par le serveur web de votre hébergeur, ce qui ne nécessite aucun effort d'installation mais pour une phase de développement c'est très contraignant puisqu'il faut à chaque fois transférer les scripts PHP (et autres fichiers html, css, js, etc.) de votre poste vers l'hébergeur (généralement via FTP ou ssh, quand ce n'est pas via une interface graphique dédiée)
  • Installer votre propre serveur web sur votre ordinateur, ce qui est bien plus pratique mais nécessite un minimum de travail d'installation et de configuration
  • Utiliser le serveur web intégré à l'exécutable PHP, pratique et ne nécessite qu'une rapide installation mais qui ne reproduit pas à 100% l'environnement dans laquelle l'application tournera réellement au final

Vous souhaitez en savoir plus? Suivez nous dans le chapitre suivant dédié à l'installation de l'interpréteur PHP