Présentation : le PHP

Alors qu'il met son CV en ligne, Rasmus Lerdorf désire conserver une trace des visiteurs de sa Personal Home Page (PHP). Il met au point la version 1.0 de son langage qu'il met en ligne. Son langage devient rapidement très populaire et de nombreux internautes lui demandent si son langage ne pourrait comporter des boucles et des structures conditionnelles. Naît alors la version 2.0. Actuellement, nous avons dépassé la version 6.

Les scripts PHP peuvent être intégrés très facilement dans du HTML, peuvent analyser les données introduites dans les formulaires, communiquer avec les bases de données sur le serveur, effectuer des calculs complexes, réaliser des dessins,...

Contrairement aux scripts Java et JavaScript, les scripts PHP sont exécutés "côté serveur" et non "côté client" (votre ordinateur personnel). L'exécution des scripts PHP, utilisant les ressources du serveur, est donc très rapide et, de plus, leurs contenus restent confidentiels car les pages HTML sont composées "côté serveur" et n'arrivent au client que ces pages HTML qui s'afficheront à l'écran et non le contenu des scripts qui sera, de ce fait, protégé.

Il est important de bien comprendre cette dynamique de communication entre le serveur et le client afin de ne pas espérer des choses impossibles.

Concernant l'impression, elle se fait côté client. Il n'est pas possible d'inclure dans une page PHP une commande qui provoquerait l'impression de données directement à partir de votre ordinateur. Votre demande devra être envoyée au serveur, celui-ci générera une page HTML qui sera envoyée à votre ordinateur et que vous pourrez alors imprimer.

Concernant un formulaires dont vous voudriez enregistrer le contenu dans la base de données du serveur par exemple, il y a deux possibilités :

  1. Soit vous réalisez un formulaire HTML dont vous envoyez le contenu pour traitement à une page PHP, comme ce sera le cas dans les exercices de ce module. PHP et la base de données étant sur le serveur, cela ne pose aucun problème de communication et le traitement se fera facilement;
  2. Soit vous réalisez un formulaire en JavaScript et obtenez des données côté client. Ces données devront être envoyées au serveur afin qu'elles soient disponibles pour le programme qui se chargera de l'enregistrement de ces données dans la base de données. Cet envoi nécessitera une mise en forme json (JavaScript Object Notation) pour que les données arrivent au serveur et puissent être traitées.

On pourrait se dire que la méthode 1 ci-dessus est la plus simple et que seule celle-là suffirait... L'avantage de la méthode 2 est de pouvoir réaliser des formulaires interactifs permettant de modifier à la volée les contenus des bases de données par exemple.

Si vous avez utilisé le tableau de bord de la méthode d'apprentissage du codage, la communication avec le serveur a nécessité un codage json. Voici l'explication :

Voici ce qui se passe quand vous commencez un exercice de robotique virtuelle et que vous enregistrez ensuite le programme ou code que vous avez réalisé dans la base de données :

  1. Vous cliquez sur l'hyperlien qui provoque le démarrage de l'exercice;
  2. Votre navigateur demande au serveur de vous envoyer le programme JavaScript de cet exercice;
  3. Le programme de cet exercice arrive et se charge dans la mémoire vive de votre ordinateur, il commence à s'exécuter;
  4. Vous réalisez l'exercice et, au moment où vous le quittez, une page PHP du serveur est appelée;
  5. Votre ordinateur lui envoie au format json vos coordonnées, l'identification de l'exercice de robotique qui a été réalisé et le programme du robot lui-même;
  6. La page PHP génère le code nécessaire pour effectuer l'opération adéquate dans la base de données MySQL;
  7. La base de données MySQL est affectée, modifiée, et enregistre dans la table adéquate, dans votre fichier personnel et pour l'exercice effectué la chaîne d'instructions que vous avez réalisée pour cet exercice.

Voici ce qui se passe quand vous recommencez un exercice de robotique virtuelle que vous aviez déjà complété auparavant et que vous chargez le programme ou code que vous aviez commencé :

  1. Vous cliquez sur l'hyperlien qui provoque le démarrage de l'exercice;
  2. Votre navigateur demande au serveur de vous envoyer le programme JavaScript de cet exercice;
  3. Le programme de cet exercice arrive et se charge dans la mémoire vive de votre ordinateur, il commence à s'exécuter;
  4. Une page PHP du serveur est appelée pour amener sur votre ordinateur le programme ou code que vous avez déjà réalisé pour cet exercice;
  5. Votre ordinateur lui envoie au format json vos coordonnées et l'identification de l'exercice de robotique que vous réalisez;
  6. La page PHP génère le code nécessaire pour effectuer l'opération adéquate dans la base de données MySQL;
  7. La base de données va chercher le programme que vous avez réalisé dans la table adéquate, dans votre fiche personnelle et pour l'exercice adéquat et la renvoie à la page PHP;
  8. La page PHP génère le code json nécessaire pour envoyer votre programme à votre ordinateur;
  9. Le code json arrive dans la mémoire vive de votre ordinateur;
  10. Votre ordinateur décode le json et affiche votre programme sous la forme des petits blocs comme vous l'aviez réalisé lors de votre dernier accès à cet exercice.

◊   ◊   ◊

A l'instar de Linux, PHP possède sa communauté de développeurs. PHP est un langage "C like", gratuit et répond à la philosophie "Open Source". Il est possible d'installer certaines versions du langage localement sur sa machine afin de pouvoir procéder à la vérification des scripts réalisés. Sinon, il faut "uploader" ses pages (les télécharger) sur un serveur pour pouvoir les exécuter correctement. Ceci veut donc dire que vous devez trouver un hébergeur qui permette l'exécution de PHP sur ses serveurs (renseignez-vous avant).

PHP permet la programmation orientée objet, mais, à ce stade, nous l'utiliserons uniquement sous forme impérative. La programmation orientée objet (POO) sera abordée dans un autre module.

Ressources

Dans ce module, nous n'allons pas traiter la syntaxe de manière super approfondie. Notre ambition est de vous "mettre le pied à l'étrier", de vous permettre d'être à l'aise en PHP, vous ne trouverez donc pas sur notre site une anthologie de ce langage. Vous pouvez toutefois faire appel aux ressources ci-dessous afin de parfaire vos connaissances. Certaines pages de ce module pourront comporter des liens vers des points spécifiques du langage ou de la syntaxe qu'il serait intéressant d'approfondir.

Sites francophones

Sites anglophones

Installer un serveur sur ma machine

Lorsque, ci-dessus, nous évoquons l'installation "du langage PHP" sur votre machine, c'est un peu court. Pour que cela fonctionne correctement, il faut procéder à l'installation de plusieurs éléments : un serveur Web, un interpréteur PHP,... Rassurez-vous, des kits complets et simples à installer existent, il suffit de lancer le processus et suivre les instructions pas à pas.

Pour Windows

Vous avez le choix entre deux possibilités :

Pour Mac

Pour Linux

Généralement, les distributions Linux contiennent déjà les éléments nécessaires à l'exécution de PHP. Nous vous suggérons de faire une recherche sur le Net afin d'avoir les marches à suivre pour configurer votre machine en fonction de votre distribution.

Vous pourrez trouver des informations sur le site https://kinsta.com/fr/blog/installer-php/.


Nous espérons que vous avez pu installer votre serveur Web et que vous pouvez l'utiliser (faites quelques essais avec des pages HTML simples). Il est temps maintenant de nous lancer dans l'étude du langage proprement dit.

Bonne découverte et bon travail.

Retour