Le PHP permet de rendre dynamique une page HTML. Le PHP est l’un des outils les plus importants qu’un Webmaster doit connaitre, car c’est un langage simple et facile à mettre en place. Mais par où commencer et comment avoir des résultats intéressants sans y passer des dizaines d’heures. Dans cet article, je vous propose de visiter les 20% de la connaissance PHP qui vous permettra de gérer 80% des situations auxquels vous ferez face.

Cet article fait suite à l’article : comment créer une Page HTML pour son site, Si nous ne l’avez pas lu et que vous ne connaissez pas encore le langage de programmation HTML, je vous invite à le faire. 😉

Note : cet article a pour objectif de vous apprendre les rudiments du PHP et de vous accompagner sur la création de votre première page. Je pense qu’il faut environ 2h pour le mettre en pratique entièrement, vous saurez alors :

Vous serez par ailleurs en mesure de comprendre quelle est la logique d’un morceau de code PHP comme celui-ci :

<!DOCTYPE html>
<?php
$age = 18;
$weekDays = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"];
?>
<html>
<head>
<title>Bienvenue !</title>
</head>
<body>
<h1>Salut !</h1>
<p>J'ai <?php echo $age; ?> ans</p>
<p><?php if ($age >= 18) { echo "Je suis majeur"; } ?></p>
<p>Alors, j'ai le droit de sortir les jour suivants :</p>
<ul><?php $i = 0; while ($i < 7) { echo "<li>" . $weekDays[$i] . "</li>"; $i = $i + 1; } ?></ul>
</body>
</html>

Chaud ? C’est parti !!

PHP, c’est quoi s’te bête ?

PHP (Hypertext Preprocessor) est un langage de programmation permettant principalement à créer des pages /sites internet dynamiques. Comme vous avez du le voir dans le cours sur : comment créer une Page HTML pour son site, le résultat que l’on obtient est figé, c’est-à-dire que l’information que l’on retrouve dedans doit être entièrement rédigé à la main.

Je m’explique :

<!-- fichier.html -->
<p>Je suis un premier texte</p>

Imaginons que je souhaite changer le texte dans le fichier HTML ci-dessus. La seule option que l’on a en HTML sera d’éditer le fichier sois-même. Alors que nous souhaitons pourvoir changer cette phrase dans avoir à modifier le HTML. Pour l’anecdote, imaginez que quelqu’un doive écrire tous vos emails en format HTML à chaque fois que vous afficher votre boite mail, ce serait plutôt prenant comme travail 😉

Voici donc ce que je souhaite faire : pouvoir changer le mot “premier” (voir code HTML ci-dessus) et mettre un autre mot à la place. Pour résumer, je souhaite avoir la possibilité de choisir le mot à la place de “(nomDeFichier)” (voir ci-dessous).

<!-- fichier dynamique -->
<p>Je suis un (nomDeFichier) texte</p>

Et bien, c’est là que PHP prend le relai en nous permettant de changer l’affichage de la page sans avoir à retoucher le code HTML.

Les différences entre PHP et HTML

Comme vous pouvez la voir, PHP permet d’agir sur le fichier HTML. Cela signifie qu’il doit travailler pour faire ce qu’on veut. Néanmoins, il lui faudra un espace de travail. Pour consulter une page HTML, un simple navigateur suffit. Pour demande à PHP de travailler, il faudra installer un serveur web. (Ne vous inquiétez pas, je vous explique la démarche juste après).

Ce serveur aura pour objectif de permet à PHP de fonctionner, mais aussi de lui donner tout un tas d’outils sympathique pour le fonctionnement de votre site, comme une mémoire (avec la base de données MySQL). Nous reviendrons sur les autres fonctionnalités plus tard.

Prêt pour faire votre première page HTML enrichie de PHP ?

Quels sont les outils pour utiliser le PHP et comment m’en servir

Un serveur…? Je préfère un barman

Un serveur web est un logiciel permettant de “traiter” et de “servir” de l’information. Il vous suffit donc de le télécharger et de l’installer sur votre machine. Le serveur que j’utilise le plus s’appelle Apache. Je vais m’attarder sur 2 logiciels que je vous conseille qui vous permettront d’installer Apache sur votre ordinateur :

  • Si vous êtes sur windows : Windows Apache MySQL PHP (WAMP)
  • Si vous êtes sur mac : Mac Apache MySQL PHP (MAMP)
  • Si vous êtes sur linux : vous n’avez surement pas besoin de moi, assumez :p (Tout dépend de votre Système d’Exploitation)

Comment installer votre serveur web ?

Il est assez simple de l’installer, alors je ne vais pas rentrer dans les détails. Vous pouvez trouver chacun des logiciels que j’ai cité plus haut sur leur site respectif :

Une fois installé, passer à l’étape suivante :

Démarrer votre serveur sur mac

Démarrer MAMP

1. Sur mac : cliquez sur “Démarrer le serveur”. L’icône au dessus prendra la couleur verte.

Accéder au dossier MAMP

2. Pour accéder au dossier de votre mac dans lequel se trouve vos fichiers web, cliquez sur “Préférences” > “Web Server”.

3. Cliquez sur le dossier à côté de “Document Root” afin de voir/définir le dossier que MAMP utilisera comme base de votre serveur.

Localhost MAMP4. Vous pouvez désormais accéder à votre serveur à l’adresse : http://localhost:8888/.

Démarrer votre serveur sur Windows

Démarrer WAMP

1. Sur Windows : cliquez sur l’icône du logiciel (en orange sur la capture d’écran) et cliquez sur “Start All Services”.

2. Pour accéder à vos fichier, il vous suffit de cliquer sur “www directory”

3. Pour accéder à votre serveur, cliquez sur “Localhost”

 

Quel éditeur de texte installer pour travailler

Le prochain outil dont vous avez besoin est un éditeur de texte permettant de travailler convenablement 🙂 Je vous conseille Sublime Text : gratuit et efficace, c’est le logiciel 20/80 par excellence. (Téléchargez le ici).

Une fois l’installation effectuée, passez à la suite de l’article.

Les premières infos sur la base de données MySQL

Je fais une petite aparté sur MySQL, que j’ai cité plus haut.

MySQL est un système de Gestion de Bases de Données. Pour donner une idée rapide, MySQL est comme une clé USB dans laquelle vous aurez des tableaux (comme “Microsoft Excel” ou “Google Sheet”). Grâce à PHP et le langage de MySQL, vous pourrez demander à MySQL de vous renvoyer des informations depuis ces tableaux. C’est très simple, mais ce sera l’objet d’un prochain article, sinon celui-ci sera trop dense. Nous n’en avons pas besoin pour l’instant 🙂

Go : la technique !!

Comment rentrer en contact avec l’inconnu : echo

Quand on commence, on dit “bonjour tout le monde”, soit “Hello World”

Maintenant que votre serveur est installé et démarré, il vous faut créer votre premier fichier PHP. La meilleure manière de commencer à apprendre un programme est de savoir comment afficher des caractères à l’écran. Pour cela, PHP propose une méthode simple : echo. Pour cela, allez dans le dossier de votre serveur (sur votre machine) et créer un dossier dans lequel vous allez mettre vos tests. Personnellement, je créer un dossier nommé “test” avec chaque langage et je m’en sers de laboratoire 🙂

Créer donc un dossier “test” puis fichier “index.php” (le nom n’a pas d’importance, seule l’extension .php est importante).

Première chose à savoir, un morceau de code (programme) PHP s’écrit toujours entre deux balises : <?php et ?>

<?php ?>

Et chaque opération effectuée s’écrit sous la forme :

action  faire ;

Avec le ; (point-virgule)

action1  faire (valeur) { action2 }

Sans le ; (point-virgule)

Ce qui donne pour notre premier exemple

<?php
echo "Hello World!";
?>

Ce que vous devez avoir devant vous :

Hello World

Ce qui devrait donner dans votre navigateur cette fois ci :

Hello World

Vous venez de faire votre premier pas dans le domaine de programmation PHP. 😉

Qu’est-ce qu’un bon Webmaster ? C’est un bon /* Commenteur */

Vous me copierez 50 fois au tableau.. Euh sur le bloc note : “je laisse des commentaires ou je me ferai tirer les oreilles !”

*AIE*…. Recommence !!

Comme j’en parle régulièrement, la chose la plus importante à faire dans un code, site, ou autre, c’est de mettre des commentaires. Le commentaires n’ont aucun impact sur le fonctionnement de votre programme/page, mais vous permettrons de mieux structurer votre code et de le maintenir plus facilement. En PHP, vous pouvez le faire de cette manière :

/* Ceci est un comment */

Quels sont les différents types d’informations que l’on peut traiter .

Les informations simples : les $variables !

En PHP, une information s’appelle une variable et s’écrit : $nomDeLaVarible.
Puis désigner l’information, nous utilisons le signe =.
Nous terminons cette déclaration avec un ;

Une variable est comme une boite dans lequel on met une information.

Prenons l’exemple de la variable : $age. Ce qui nous donne :

<?php
$age = 18;
echo $age;
?>

Echo

Les informations multiples : les $tableaux[]

Ici, nous souhaitons avec une boite qui contiendra plusieurs information : un tableau.

Celui-ci s’écrit dans la forme : [information1 , information 2, etc.].

<?php
$jourDeLaSemaine = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"];
?>

Pour récupérer l’une des informations ou la modifier, il faudra utiliser la syntaxe : tableau [ numero ]
Dans l’exemple ci dessous, chaque jour de la semaine porte un numéro. Le premier numéro est toujours 0, puis 1, 2, etc.

Lundi porte donc le numéro 0, mercredi 2, dimanche le 6.
Aujourd’hui, nous sommes le jour 0, soit :

<?php
$jourDeLaSemaine = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"];
$aujourdhui = $jourDeLaSemaine [0]; /* soit $aujourdhui = "lundi"; */
echo $aujourdhui;
?>

Lundi

Les fondamentaux de l’algorithmie

Maintenant que vous connaissez comment écrire dans une page et écrire des commentaires, il est temps de comprendre les capacités d’un programme. Si vous savez déjà programmer dans un langage comme (ruby, java, C, C++, python, etc), passez au chapitre suivant. Si telle n’est pas le cas, je vais vous montrer les bases de l’algorithmie. 😉

L’algorithimie, c’est la capacité à demander à un programme de suivre un certaine logique comme de faire une action donnée sous une condition donnée. Mais il est aussi possible de demander à un programme de faire 10 actions répétées puis d’arrêter. Je rentre dans les détails tout de suite.

Effectuer des actions sous certaines conditions : if ( …si… ) { …alors… } else { …sinon… }

Les conditions permettent de demander à un programme de faire une opération si une condition est respectée. Nous allons commencer par le décrire sur papier, puis le transcrire en programme.

Prenons n’exemple : Si mon âge est supérieur à 18 ans, alors dire que je suis majeur, sinon dire que je suis mineur. En algoritmhie, cela prend la forme suivante :

DEFINIR : âge EGAL A 18;

SI : mon âge est SUPERIEUR A 18 ans

ALORS : dire que je suis majeur

SINON : dire que je suis mineur

FIN SI

Nous avons donc une information : “mon âge”, une condition “supérieur à 18” et deux actions possible : afficher “majeur” ou “mineur”.

Maintenant, nous souhaitons définir une condition, pour cela PHP propose : if (condition) { résultat 1 } else { résultat 2 }.
Ce qui nous donne dans notre exemple :

<?php
if ($age > 18) {/* action 1 */ } else { /* action 2 */ }
?>

Sachant que nous savons déjà comment écrire un message à l’écran, vous devinez que le résultat final sera :

<?php
/* Variable contenant l'age */
$age = 18;

/* Condition pour dire "Majeur" si la variable age > 18, sinon "Mineur" */
if ($age > 18) { echo "Majeur"; } else { echo "Mineur"; }
?>

Condition

Note : Si vous obtenez un message du genre :
Parse error: syntax error, unexpected ‘}’, expecting ‘,’ or ‘;’ in /Users/kelvin/Documents/Projets/www/test/index.phpon line 6.
Cela signifie que vous avez omis un point-virgule avec les echo.

Les conditions peuvent prendre 6 formes :

  • Est égal
    if (a = b)…
  • Est différent
    if (a != b)…
  • Est inférieur
    if (a < b)…
  • Est inférieur ou égal
    if (a <= b)…
  • Est supérieur
    if (a > b)
  • Est supérieur ou égal
    if (a >= b)…

Répéter des actions en boucle : while (…tant que…) { …alors… }

Nous arrivons maintenant dans un autre cas, les boucles avec l’exemple :

DEFINIR age EGAL 10;

BOUCLE TANT QUE age EST INFERIEUR OU EGAL à 17

DIRE : “Mineur”;
AJOUTER 1 A age;

FIN DE LA BOUCLE

DIRE : “Majeur”;

Ce qui donnera en PHP le code suivant :

<?php
$age = 15;
while ($age <= 17) {
echo "Mineur";
$age = $age + 1;
}
echo "Majeur";
?>

While

Isoler une fonctionnalité pour structurer le code : function maFonction() { … }

Il est possible d’isoler un morceau de notre programme afin de rendre le code plus claire, mais aussi pour pouvoir faire appel à une fonctionnalité à plusieurs endroit dans le code sans copier/coller le même morceau de code partout. Prenons un exemple pour rendre les choses plus claires.

Je souhaite vérifier que 3 personnes soit majeurs. Pour cela, une première version du programme PHP serait :

<?php
/* Variable contenant l'age de chaque personne */
$ageMarc = 18;
$ageJulie = 21;
$ageMaxime = 17;

/* Condition pour dire "Majeur" si la variable ageMarc > 18, sinon "Mineur" */
if ($ageMarc > 18) { echo "Marc est majeur. "; } else { echo "Marc est mineur. "; }

/* Condition pour dire "Majeur" si la variable ageJulie > 18, sinon "Mineur" */
if ($ageJulie > 18) { echo "Julie est majeur. "; } else { echo "Julie est mineur. "; }

/* Condition pour dire "Majeur" si la variable ageMaxime > 18, sinon "Mineur" */
if ($ageMaxime > 18) { echo "Maxime est majeur. "; } else { echo "Maxime est mineur. "; }
?>

Sans fonction

Vous voyez la taille du code avec seulement 3 personnes ? Imaginez avec 50. Et bien, c’est là que les “fonctions” (function en anglais) rentrent en actions en proposant d’isoler un morceau du code pour pouvoir le réutiliser plus facilement ensuite.

Cela fonctionne comme en mathématique : f(x) renvoie : ax + b;
Une fonction s’écrit sous la forme : function nomDeLaFonction(paramètres) { …morceau de code…renvoie des résultats… }.

Deux notions apparaissent ici :

  • Les paramètres
    Ce sont des variables que l’on fournit à la fonction pour lui permettre de faire son taff. Evitez d’envoyer plus de 3 paramètres, car cela rend la fonction compliquée.
  • Le renvoie du résultat
    En effet, lorsque la fonction a terminé de faire ce qu’elle a à faire, nous avons besoin de récupérer le résultat. PHP propose le mot clé “return” pour renvoyer une information.

Ce qui donne pour notre exemple :

<?php
function f($x)
{
$a = 10;
$b = 2;

$resultat = $a * $x + $b;

return $resultat;
}

$resultatAvecDeux = f(2);
echo $resultatAvecDeux; /* Ce qui affichera 22  l'cran pour : 2x10+2 = 22 */
?>

F de x

Ce qui nous ramène à l’exemple plus haut qui donne :

<?php

/* Fonction pour dire "Majeur" si la variable la personne est majeur */
function majeurOuMineur($prenom, $age) {

echo $prenom . " a " . $age . " ans, donc : ";

if ($age > 18) {
echo "majeur.";
} else {
echo " mineur.";
}

/* Ajout d'un retour a la ligne */
echo "<br />";
return 0;
}

/* Variable contenant l'age de chaque personne */
$ageMarc = 18;
$ageJulie = 21;
$ageMaxime = 17;

majeurOuMineur("Marc", $ageMarc);
majeurOuMineur("Julie", $ageJulie);
majeurOuMineur("Maxime", $ageMaxime);

?>

Ce qui donne comme résultat :

Avec fonction

Vous connaissez donc la puissance des fonctions et comment les utiliser !

Faire votre première page 20/80 avec du PHP et du HTML

Nous avons vu ensemble les éléments les plus importants pour commencer à faire un programme (une page) avec PHP.

Ce qui est le plus intéressant, c’est que le plus dur est fait. Vous savez écrire du HTML et du PHP. Pour les mélanger dans un même fichier, c’est simple. Vous souvenez-vous des balises : “<?php ?>” ? Eh bien tout ce qui n’est pas dedans est du HTML 😉 On peut insérer du PHP où l’on souhaite.

Note : Par contre, il faut que l’extension du fichier soit .php. Un fichier PHP peut contenir du PHP et du HTML, tandis qu’un fichier HTML ne peut contenir que tu HTML.

Vous vous souvenez du morceau de code que je vous ai donné en début d’article ?

<!DOCTYPE html>
<?php
$age = 18;
$weekDays = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"];
?>
<html>
<head>
<title>Bienvenue !</title>
</head>
<body>
<h1>Salut !</h1>
<p>J'ai <?php echo $age; ?> ans</p>
<p><?php if ($age >= 18) { echo "Je suis majeur"; } ?></p>
<p>Alors, j'ai le droit de sortir les jour suivants :</p>
<ul><?php $i = 0; while ($i < 7) { echo "<li>" . $weekDays[$i] . "</li>"; $i = $i + 1; } ?></ul>
</body>
</html>

Et bien, c’est l’exemple suite à l’article sur les fondamentaux du HTML. Avec juste quelques retours à la ligne, des commentaires et des noms de variable un peu plus clair, vous devriez êtres capable de le lire entièrement :

<!DOCTYPE html>
<?php
/* Debut du PHP*/
/* Je cree une variable pour l'age */
$age = 18;
/* Je cree une variable avec chaque jours de la semaine */
$jourDeLaSemaine = [
"lundi",
"mardi",
"mercredi",
"jeudi",
"vendredi",
"samedi",
"dimanche"
];
?>
<html>
<head>
<!-- Permet de donner le nom de la page dans le head -->
<title>Bienvenue !</title>
</head>
<body>
<h1>Salut !</h1>

<!-- J'affiche la varible age au milieu de mon paragraphe HTML -->
<p>J'ai <?php echo $age; ?> ans</p>
<p>
<?php
/* Si je suis majeur, je l'cris, sinon la balise p sera vide */
if ($age >= 18)
{
echo "Je suis majeur";
}
?>
</p>

<p>Alors, j'ai le droit de sortir les jour suivants :</p>
<ul>
<?php
/* Afin de lister les jours de la semaine, je cree un index */
$numeroDeLElement = 0;
/* Je fais une boucle tant que ma varible $numeroDeLElement est inferieur a 7 */
while ($numeroDeLElement < 7)
{
/* J'affiche le nom du jour, soit l'element du tableau jourDeLaSemaine au numero $numeroDeLElement */
echo "<li>" . $jourDeLaSemaine[$numeroDeLElement] . "</li>";
/* Je rajoute 1 a mon index pour passer aujourd suivant */
$numeroDeLElement = $numeroDeLElement + 1;
}
?>

</ul>
</body>
</html>

PHP + HTML

 

Voilà, j’espère que cet article vous aura plus et qu’il vous aura appris beaucoup de chose. Si vous avez lu cet article sans l’appliquer, mettez un rappel sur votre téléphone pour l’appliquer ce soir ou demain 🙂 20% de pratique vos mieux 100% de théorie. Donc pour progresser avec ces articles, il faut le mettre en pratique.

Si vous avez des questions ou des problèmes, n’hésitez pas à me laisser un commentaire, je vous aiderai avec plaisir !!

Avez-vous réussi à reproduire chaque exemple et à lire ce dernier morceau de code ? Dites-le moi dans les commentaires ! 😉

  •  
  •  
  •  
  •  
  • 1
  •  
  •  
  •