PHP
Est-ce que vous savez ce que c'est un site web ? Non, je vous prends pas pour des abrutis, mais j'ai dit que je partais de Zér0 alors faut que je tienne ma promesse ^^
Un site web, ben vous en avez un sous les yeux : le mien par exemple. Pour aller sur un site web, on tape son adresse, par exemple : http://www.lenet.fr.ma. En tapant l'adresse d'un site web, votre navigateur (Firefox par exemple), vous emmènera visiter ce site web.

On peut faire beaucoup de choses sur un site web : apprendre (c'est ce que vous êtes en train de faire), jouer, discuter, échanger, s'informer etc...

Maintenant, deuxième question : avez-vous entendu parler du (X)HTML ? Si oui, tant mieux. Si non, alors il faut absolument que vous sachiez ce que c'est avant de continuer.

Le langage XHTML est le nouveau nom du langage HTML (dont vous avez peut-être déjà entendu parler). Que vous voyiez écrit l'un ou l'autre, sachez que c'est la même chose : c'est le langage qui permet de créer une page web à la base. Dans la suite du cours de PHP, j'écrirai le plus souvent "HTML" (une vieille habitude) pour désigner ce fameux langage qui permet de créer des pages web.
Si vous ne le connaissez pas, vous ne pourrez pas apprendre le PHP.
Heureusement pour vous, j'ai écrit un tutoriel qui vous enseigne ce langage, je vous invite à aller le lire ici, ne serait-ce que pour vous rafraîchir la mémoire.

Pour rappel, le (X)HTML c'est un langage qui vous permet de créer des pages web. En tapant un code spécial (les "tags", ou "balises"), on peut mettre du texte en gras, insérer une image etc etc...

Code : HTML - Afficher / masquer les numéros de ligne
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.     <head>
  4.         <title>Bienvenue sur mon site !</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.     </head>
  7.     <body>
  8.         <p>
  9.         Bienvenue sur mon site web !<br />
  10.         Cliquez <a href="http://www.siteduzero.com/">ici</a> pour entrer !
  11.         </p>
  12.     </body>
  13. </html>

Et PHP dans tout ça ? Eh bien PHP, c'est un autre langage qui vient se mettre au milieu de ce code HTML. Voici par exemple ce que ça peut donner (c'est un petit aperçu de ce que vous allez apprendre) :

Code : PHP - Afficher / masquer les numéros de ligne
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.     <head>
  4.         <title>Bienvenue sur mon site !</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.     </head>
  7.     <body>
  8.         <p>
  9.         Bienvenue sur mon site web !<br />
  10.         <?php echo("Vous êtes le visiteur n°" . $nbre_visiteurs); ?>
  11.         <br />
  12.         Cliquez <a href="http://www.siteduzero.com">ici</a> pour entrer !
  13.         </p>
  14.     </body>
  15. </html>
Qu'est-ce qui est nouveau ici ? C'est cette ligne :
<?php echo("Vous êtes le visiteur n°" . $nbre_visiteurs); ?>

Il y a toujours du langage HTML autour, mais on trouve au milieu des instructions PHP. Ce que je vais vous apprendre c'est à savoir manier des lignes de ce type. Oui, ça fait peut-être un peu peur ces caractères bizarres au milieu ($ ; ? > ), mais bientôt cela vous sera familier (si si je vous l'assure ^^ )

Comme vous le voyez, une page qui ne contient que du HTML possède l'extension ".html". Une page qui contient du code PHP, elle a l'extension ".php".
Comme il y a eu plusieurs versions de PHP, il n'est pas rare que vous rencontriez des extensions .php3 ou .php5. La version actuelle de PHP est la v5.

Existe-t-il des pages qui ne contiennent que du PHP ?

Mmh, en fait non, on a quand même toujours besoin du HTML pour faire une page web. On ne peut pas y échapper !

En résumé : le HTML est pratique un moment, mais il est limité. A l'aide de PHP, vous pourrez réaliser bien plus de choses pour votre site web. Des exemples ?
  • Un forum, où tout le monde peut discuter, échanger, s'entraider si quelqu'un a un problème.
  • Un Chat, pour discuter en temps réel avec d'autres personnes !
  • Un livre d'or : si votre site web plaît à vos visiteurs, ils peuvent laisser un message disant que votre site web est super, et tout le monde pourra le lire !
  • Une newsletter : c'est très facile à mettre en place. Vous rédigez votre newsletter, vous cliquez sur un bouton, et là le mail s'envoit automatiquement à toutes les personnes inscrites à votre newsletter !
  • Un compteur de visiteurs, visible ou caché, c'est vous qui voyez ce que vous préférez. Et comme c'est vous qui allez le créer, il n'y aura pas de pub (ceux qui utilisent un compteur avec une pub se font arnaquer je vous le dis de suite ;) )
  • Un système de news automatisé : vous allez sur une page, vous tapez le texte de la nouvelle news, et immédiatement après la page d'accueil de votre site s'actualise et tous vos visiteurs voient cette news !
  • On peut imaginer alors qu'ils réagissent à cette news : ils donnent leur avis, se proposent pour vous aider etc...

PHP peut faire encore beaucoup plus que ça, mais c'était pour vous mettre l'eau à la bouche.

Ce qu'il faut bien retenir donc, c'est que PHP vous permet de créer des pages web dynamiques, qui se mettent à jour toutes seules sans que vous ayez à passer par là. En clair, vous pouvez être en vacances aux Bahamas, et votre site continuera à évoluer tout seul !
Autre gros avantage, vous allez vous en rendre compte, PHP inaugure l'ère du Webmaster Fainéant (avec un grand F) : une fois que vous avez mis votre site en place, il se met à jour tout seul, se transforme, sans que vous ayez à lever le petit doigt :D

Si ça c'est pas la belle vie ! Vous comprenez un peu mieux maintenant pourquoi on s'intéresse de plus en plus au PHP ?

Différences entre HTML et PHP

Ce que je vais vous apprendre maintenant, ce n'est pas très compliqué, et pourtant beaucoup de gens se lancent dans le PHP sans le savoir !
Croyez-moi : si vous faites l'effort de comprendre comment ça marche (ça vous prendra 10 minutes), non seulement vous allez gagner beaucoup de temps ensuite, mais en plus vous comprendrez ce que vous ferez. Et ça, ça n'a pas de prix croyez-moi ;)

De quoi je vais vous parler ? Je vais vous expliquer ce qui se passe exactement quand un visiteur veut aller sur votre site web. Il tape l'adresse ok, mais ensuite ? La page s'affiche, d'accord, mais entre-temps que s'est-il passé ?
Ca c'est vraiment important, parce qu'en HTML et en PHP ça ne fonctionne pas vraiment pareil.

Il y a une notion fondamentale à connaître : les relations entre le client et le serveur. Quoi "beârk" ? Non non, il n'y a rien de sorcier là-dedans !
  • Le client : celui qu'on appelle "le client", c'est vous :) . C'est vous qui êtes tranquille pépère installé devant votre ordinateur, et qui demandez à voir une page web. Tous les visiteurs d'un site web sont des clients. On va représenter l'ordinateur du client par cette machine :

Image utilisateur

  • Le serveur : il n'y en a qu'un seul. Le serveur, c'est une sorte de gros ordinateur tout le temps connecté à Internet (avec une connexion très rapide). Cet ordinateur est installé quelque part dans le monde, il est tout le temps allumé, et personne n'y touche. Il travaille 24h/24, et ne s'occupe que de distribuer votre site web. En d'autres termes, personne ne joue dessus :p
    Sa fonction ? Il contient votre site web sur son disque dur, et dès qu'un client demande à voir une page web, il la lui envoie. Pour représenter le serveur, je vais utiliser cette machine (notez qu'en général le serveur n'a pas d'écran : ça ne sert à rien puisque personne ne travaille dessus) :

Image utilisateur

Vous voyez ? C'est en fait très simple.
Pour ceux qui n'auraient pas tout bien compris, voici un exemple...

Imaginez un restaurant. Vous rentrez dedans, vous êtes le client. Vous commandez un Couscous Royal (arf j'ai faim ^^ ). Le cuisinier, lui, c'est le serveur : vous lui avez demandé tel plat, il vous le livre.
Dès qu'un autre client se présente et demande un autre plat, le cuisinier le lui donne. Et il travaille ainsi inlassablement tout le temps.

Eh bien c'est pareil sur Internet : le serveur est un ordinateur qui envoie des pages web aux clients qui le lui demandent. Et il travaille sans arrêt comme un forcené.

Bien, maintenant que vous avez compris ça, je vais vous montrer le petit plus qui fait toute la différence entre une page HTML et une page PHP.

Avant : en HTML



Je vous rappelle qu'une page HTML possède l'extension .html, comme exemple.html
Je ne vais pas entrer dans les détails, mais en gros voici comment ça fonctionne pour une page HTML :

Image utilisateur

Il y a 2 étapes :
  1. Le client (c'est vous, le visiteur) demande à voir une page web. Il va donc faire une demande au serveur : "S'il te plaît, envoie-moi la page vacances.html".
  2. Le serveur lui répond en lui envoyant la page vacances.html : "Tiens, voici la page que tu m'as demandée".

Tout ça se passe très poliment bien entendu :)
Le client voulait consulter la page vacances.html sur un site web : il l'a demandée au serveur qui gère ce site, et le serveur lui a envoyé la page que le client voulait. La page s'affiche alors sur l'écran du client, sous ses yeux ébahis o_O

Cela se passe à chaque fois que vous consultez une page HTML. Mais qu'est-ce qui peut bien changer avec PHP ?

Maintenant : en PHP



Il y a une étape qui vient s'ajouter entre les deux : la page PHP est générée par le serveur avant l'envoi. Schématiquement ça donne ça :

Image utilisateur

Voyons à nouveau les étapes :
  1. Le client demande à voir une page PHP. Pour lui il n'y a aucune différence. Il demande la page au serveur, toujours aussi poliment : "S'il te plaît, envoie-moi la page vacances.php".
  2. Mais là, il y a une étape très importante, qui fait toute la différence en PHP. Le serveur n'envoie pas de suite la page au client. Il la génère. En effet, le client n'est pas capable de lire une page PHP (seul le serveur sait faire ça). Le client ne peut lire que des pages HTML.
    Ce que fait le serveur est simple : il va transformer la page PHP en page HTML, pour que le client puisse la lire.
  3. Enfin, une fois que la page est générée, elle ne contient plus que du code HTML. Le serveur peut l'envoyer au client : "Tiens, voici la page que tu as demandée".

Je vais vous en dire un peu plus sur cette deuxième étape : celle de la génération de la page. Il est important de bien comprendre ce qui s'y passe.

Que veut dire "génération de la page PHP" ?

Je vous ai montré un bout de code PHP au début de ce chapitre. Le revoici :

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php echo("Vous êtes le visiteur n°" . $nbre_visiteurs); ?>


Les ordinateurs des clients ne savent pas lire ce code PHP : ils ne connaissent que le HTML. C'est donc au serveur de transformer le code PHP en HTML.

Mais à quoi sert le code PHP alors ?

Il contient des instructions. Il demande au serveur d'effectuer des actions : donner l'heure, le nombre de personnes connectées sur le site etc... Bref, le PHP donne des ordres au serveur.
Ce genre de choses était impossible en HTML. Avec PHP, c'est possible, et vous verrez que ça change tout.

N'oubliez pas qu'une page PHP contient aussi du code HTML.
Tant qu'il y a du code HTML, le serveur n'y touche pas. Dès qu'il tombe sur du code PHP, il le lit, il l'exécute (il fait ce que le code lui demande), et il transforme ça en HTML.


En fin de compte, la page générée ne contient plus que du HTML : le client peut alors la lire.

Ce qui est particulier ici, c'est que cette page générée est destinée à un seul client. Quand un nouveau client se présente, le serveur recommence à générer une page HTML.
Ca veut dire qu'en fait la page générée peut être à chaque fois unique. C'est bien ça qui est génial par rapport au HTML : en HTML la page envoyée était toujours la même, le serveur envoyait juste le fichier. En PHP, le serveur travaille pour le client et lui offre une page personnalisée :p

Notez que la génération de la page peut prendre du temps (quelques millisecondes en fonction de la taille de la page).
Cela veut dire que le serveur doit être plus puissant pour pouvoir traiter du PHP qu'un serveur HTML normal... Si votre site est connu, ce n'est pas 1 client qui va demander une page PHP, mais plutôt 28 clients en même temps !
Annonces
 
télécharger FireFox
 
 
Tous droits réservés © 2007 - 2008 Groupe Tests - netview. Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement