Langage #4 : PHP

Le langage PHP est un langage open source exécuté côté serveur, il permet par exemple de manipuler des données, de gérer des formulaires de contact, et de générer des contenus à afficher sur des pages web. Utilisé par la plus part des CMS et dont la popularité n'est plus à défendre, PHP dans sa dernière version propose une expérience de développement agréable due à la documentation et les expériences partagées sur l'internet.
PHP, date de création et version

PHP (Hypertext Preprocessor) est un langage de programmation côté serveur et open source, il possède des variables, des opérateurs, des instructions de flux, des boucles, , des librairies, des modules et extensions. Le javascript est un langage de programmation WEB côté client. Le PHP servira à créer le dynamisme des pages et rendre vivant l’interactivité entre l’utilisateur et le site web, D’un côté on a une UI qui sera plus dynamique avec une communication entre la page WEB et le serveur WEB.

PHP  1 a été créé en 1995 et la version 7.4.6  le 14 mai 2020. Il fait souvent parti du triplet Apache, PHP, MySql. Un environnement AMP permet de créer aisément un site internet dynamique et interactif.  Pour rappel, du côté client on a le triplet HTML/CSS/Javascript. Ces deux triplets permettent de créer un site WEB sur internet complet dynamique et interactif.


Format de fichier

L’en-tête d’un fichier php commence par  le tag < ?php et terminé par le tag ? >, ce qui permet a userveur de comprendre dans quel langage le script doit être interprété puis exécuté. L’extension du fichier est .php, on parlera de fichier PHP. L’encodage du fichier PHP est de préférence UTF-8 with no BOM. 

Le script PHP permet de générer des fichiers HTML. Il est très puissant de ce point de vue, on peut faire un traitement du côté serveur pour générer la page WEB avec du HTML / CSS / JS à la volée. Le script PHP peut générer un en-tête avec un mime type et donc envoyer une information de type de fichier au navigateur. Par exemple générer une image 💪 !

< ?php

//CSS.

header(‘Content-Type: text/css’);

//Javascript.

header(‘Content-Type: text/javascript’);

//JPEG Image.

header(‘Content-Type: image/jpeg’);

//PNG Image.

header(‘Content-Type: image/png’);

//JSON.

header(‘Content-Type: application/json’);

//PDF.

header(‘Content-Type: application/pdf’);

? >


Lire un fichier PHP

Lire, éditer un fichier php se fait en l’ouvrant avec un éditeur de code. Pour l’exécuter, on utilisera un navigateur ou une requête HTTP POST ou GET via une URL d’accès à un serveur php. Voici deux situations d’accès au fichier php :

Chemin sur mon disque dur D
D:/web/12h30_communication/index2.php

URL avec un WAMP
https://12h30.go/index2.php

Quand on ouvre cette url avec un butineur web, on obtient l’affichage non formaté « 🎉 Hello World ! Bienvenue sur le site de 12h30 communication, agence web sur le canton de Neuchâtel  » 🙂

Voici un exemple de script php

< ?php

echo « 🎉 Hello World ! Bienvenue sur le site de 12h30 communication, agence web sur le canton de Neuchâtel »;

? >


Travailler en local ou online via un serveur

Pour travailler en local, sur sa machine personnelle, on utilisera par exemple WAMP sous windows, MAMP sous OSX, et pour travailler en ligne, on utilisera les services d’un hébergeur. Dans tous les cas, il faut s’y connaitre un minimum en administration système. (Configurer Apache, Afficher/Cacher les erreurs, Mysql, les modules PHP) 


Compatibilité et débogage 🦗

Un peu de documentation sur les incompatibilités des différentes versions de php permettra de mettre à jour ses scripts php et déboguer les incompatabilités possibles à lire sur https://www.php.net :

Let’s go debug ! 🛠️ Débuguer un site internet

Plusieurs compétences sont à mettre en oeuvre, de l’administration de serveur, ou réseau pour la compréhension du protocole TCP/IP, en passant par les différentes étapes de rendu dans un navigateur. Il faut savoir configurer le serveur apache pour voir les erreurs et utiliser les fichiers de log de l’hébergement / AMP. Au niveau du langage php il faut savoir utiliser les fonctions print_r, var_dump, exit pour consulter les erreurs à même le navigateur WEB.

La procédure de base est de lancer des investigations, comprendre la description du bug, le répliquer. Le navigateur WEB permet d’observer l’activité réseau via son outil de développement (onglet réseau), d’activer et désactiver l’option cache. L’outil de développement permet auss id’observer les messages d’erreurs dans une console. Les Erreurs 404, les erreurs de sécurités sont affichées et répondent directement à pas mal de questions que posent certains bug. La suite d’action Modifier, Transférer, Vider le Cache, Actualiser ! fait parfois parti du quotidien du développeur web. On le répétera jamais assez !  Empty Cache, Refresh ! Empty All cache, reboot, Refresh Refresh !!


Conclusion

PHP est un langage de script côté serveur et est open source. Trois choses intéressantes peuvent être faites  lorsqu’on connaît les bases de ce langage de programmation :

  1. Personnalisation et création de templates / thèmes pour des CMS : wordpress, drupal, joomla.
  2. Debugage de site internet.

En relation avec une base de donnée relationnelle, PHP permet de créer des site internets dynamique avec section utilisateurs, news, quizz, livre d’or (:o), statistiques, … Le prochain article concernera donc la base de donnée relationnelle MySql :