Introduction

Le PHP (PHP: Hypertext Preprocessor) est un langage serveur. Sa première version (1994) permet rapidement une ®évolution du web et la profusion des pages dynamiques. Pour simplifier son rôle, il permet une automatisation de l’écriture des pages web.
Véritable icône du logiciel libre, il donne accès à tous et est disponible sur une multitude de plateformes.
Ce site utilise PHP (comme environ un tiers des sites), une base de données et WordPress (un ensemble de CSS, JS et environ 600* fichiers PHP).
* Beaucoup de fichiers sont très petits, bien nommés et bien rangés pour une maintenance plus simple.

Comprendre le rôle du PHP en quelques minutes n’est pas évident.

Serveur ?

Un serveur est un ordinateur accessible en réseau. Celui-ci peut être physiquement dans la même pièce que votre ordinateur, dans votre école ou à l’autre bout de la planète (merci Internet).

Petit cas particulier : votre ordinateur peut posséder un serveur et dialoguer avec lui-même sur une adresse locale 127.0.0.1 ou localhost. Pour éviter la cacophonie, les adresses auront aussi un port, ce qui donnera au final ce genre d’url http://127.0.0.1:8888.

Un serveur PHP est donc un ordinateur capable d’interpréter le langage PHP, on lui associera un serveur HTTP afin de pouvoir lire les résultats dans un navigateur.
Pour simplifier, une machine accessible par un nom (jenseign.com) ou une IP (des chiffres 172.217.17.131) aura sur son disque dur un fichier ma-page.php et en tapant jenseign.com/html/ma-page.php, on récupère des informations venant de cette ordinateur.

Sur cette exemple, l’intérêt d’avoir l’heure d’un serveur en France n’a rien de fantastique mais permettrait de faire un jeu où l’utilisateur ne peux pas tricher en changeant la date de sa machine ou en changeant de pays.
Cet accès à une machine distante est une notion importante, un langage serveur va permettre la lecture ou l’écriture d’informations (avec les permission requises) qui ne sont pas sur votre machine.

Exemple : lire ses comptes bancaires, faire des achats en ligne, consulter un catalogue d’après une base de données, afficher des cartes complexes, calculer des itinéraires, faire des moteurs de recherches…

Serveur local

Votre machine possède probablement des services de type serveur, néanmoins pour plus de facilité un logiciel comme MAMP permet d’avoir un environnement de test complet.

Service payant

Si vous voulez avoir votre site en ligne, votre nom de domaine et quelques avantages, vous pouvez payer un hébergeur afin d’avoir un « pack annuel » incluant quelques mégaoctets, un serveur PHP, une ou plusieurs bases de données, un serveur mail et d’autres options (à partir d’une vingtaine d’euros, mais des formules existent en beaucoup plus onéreux).

PHP pour les graphistes

Le PHP n’est pas un langage « amusant » comme le JavaScript avec effet tape à l’œil, il faut plutôt l’aborder comme un outil puissant dans la manipulation de données, dans l’automatisation des tâches.
Un portfolio en PHP produira des pages HTML avec un minimum d’effort à fournir.
Illustrations sans code des possibilités avec quelques lignes de PHP :

  • lister les images d’un dossier et les afficher avec leur nom, leur date…
  • transférer des images et créer des vignettes de plusieurs tailles

PHP pour les graphistes qui n’aiment pas le code

L’objectif de cet article n’est pas de faire de tous les graphistes des codeurs, il s’agit de comprendre la mécanique des pages dynamiques. Il est important d’avoir des connaissances sur les possibilités offertes afin de prendre les décisions les plus justes à la conception d’un site, d’une application ou d’un dispositif interactif. Comprendre les rouages d’un langage serveur permet de mieux dessiner les pages d’un site et d’améliorer votre projet.

Mots de tête

Si vous avez déjà des connaissances en JavaScript, les notions d’algorithmes doivent être moins abstraites. On peut faire certaines choses similaires en JavaScript et en PHP ou utiliser les deux. D’ailleurs parfois les syntaxes se ressemblent.

// PHP
for ($i = 0; $i < 9; $i++) {
    echo $i;
}
// JS
for (var i = 0; i < 9; i++) {
   console.log(i);
}

On reviendra sur le jeu de 7 différences plus tard. En attendant, faites attention à la confusion dans l’écriture ou dans la recherche de bouts de code sur le net.

PHP, JS ou les deux, c’est mon choix

Quelques exemples

Une animation d’un menu, d’un SVG ou autres : seul JavaScript peut animer des éléments sans rafraichir la page et de manière fluide.
Lire dans une base de données MySQL : PHP
Écrire sur le serveur : PHP
Faire un caddie de boutique en ligne : PHP (JavaScript pourrait, mais il serait facile de modifier les prix).
Envoyer un mail : PHP, JS ne peut pas envoyer un mail
Vérifier si l’adresse mail est correcte : les deux mais dans tous les cas, il faudra vérifier avec PHP, la couche JavaScript pouvant apporter une expérience utilisateur plus agréable avant la validation d’un formulaire.