Ignorer la navigation

Partie 1 : découverte du langage PHP

Pour utiliser PHP, il faut connaître au préalable les langages HTML et CSS.



I. Introduction :

Le langage PHP a été conçu pour créer des sites "vivants" (on parle de sites dynamiques en comparaison aux sites créés en HTML qui sont dit « statiques »). En effet, HTML n'étant pas un langage de programmation mais un langage de description, la page html créée est la même quelque soit l'utilisateur. Seul le webmaster peut modifier les pages du site ce qui n'est pas très pratique quand un site peut être mis à jour régulièrement et par plusieurs utilisateurs. De plus avec PHP, la page affichée va pouvoir être différente suivant la personne qui la visualise (par exemple un abonné n'aura pas la même page qu'un non abonné, la langue ne sera peut être pas la même, …).

A partir du document « concevez-votre-site-web-avec-php-et-mysql.pdf » (lire pages 9, 10 et 11), répondre aux questions suivantes :


1. Sur internet, les ordinateurs peuvent être classés en 2 catégories. Donner leur nom et expliquer le rôle de chaque type d'ordinateur.
2. Dans le cas d'un site statique expliquer comment fonctionne la génération de la page web.
3. Dans le cas d'un site statique, compléter le dessin suivant mettant en évidence la génération de la page web :


4. Dans le cas d'un site web statique, donner le nom du langage utilisé.
5. Dans le cas d'un site dynamique expliquer comment fonctionne la génération de la page web.
6. Dans le cas d'un site dynamique, compléter le dessin suivant mettant en évidence la génération de la page web :





7. Dans le cas d'un site web dynamique, donner le nom du langage utilisé.

 



II. Transformation de votre ordinateur en serveur local

Le programme qui va transformer votre ordinateur en serveur s'appelle WAMP. Il va installer le serveur (Apache), la base de donnée (MySql) et tous les éléments permettant de se comporter comme un serveur.
Vous allez créer un répertoire travail que vous appellerez « test_votre nom de famille ». Pour ce faire, ouvrez l'explorateur Windows et rendez-vous dans le dossier où WAMP a été installé, puis dans le sous-dossier intitulé www. Créez votre répertoire « test_votre nom de famille » (normalement : c :\wamp\www\ ).

Lancer maintenant le programme WAMP (WampServeur). Si l’icône du logiciel  (dans la barre du bas ou cliquer sur l’icône « afficher les icônes cachées ») est verte cela signifie que tout fonctionne.

Si ce n'est pas le cas, cliquer (clic de gauche) sur l’icône du logiciel et lancer les application (« start all » service ou « démarrer les services »).

Pour vérifier que tout fonctionne, dans la barre d'adresse de Mozilla tapez « http://localhost/ ». La fenêtre de gestion de notre serveur local doit apparaître ainsi que votre dossier de travail (rubrique « vos projets »).


 



III. Premiers programmes en PHP

Nous allons utiliser à nouveau l'éditeur Nodepad++. Il faudra choisir le type de fichier dans le menu « Langage » (lettre « P » puis PHP) et ensuite enregistrer notre fichier sous la forme : « nom.php » dans notre répertoire c:\wamp\www\test_ votre nom de famille\


1. Comment signaler que ce qu'on écrit est en langage php ?

En fait, chaque partie en PHP doit être signalée au serveur. En effet les fichiers .php vont mélanger dans la joie et la bonne humeur les balises HTML avec son CSS et les instructions PHP. Il faut donc un moyen de signaler tout ça pour que le serveur sache quoi faire.

L'instruction qui marque le début du PHP est :  <?php
L'instruction qui marque la fin du PHP est : ?>
Entre ce 2 marqueurs, tout est en PHP.


2. L'instruction « echo »

Cette instruction permet d'afficher un texte à l'écran. Oui on commence par quelque chose de facile !

Application 1:


Soit la page PHP/Html suivante : 

   
    <?php
               echo "Ceci est du texte";  
    ?>  

Si on le rentre dans Notepad++ on doit obtenir :


Taper ce petit programme, nommez-le « essai1.php » et enregistrez le dans votre répertoire de travail sur le serveur local.


8. Par quels éléments doit-être entouré le texte que l'on veut afficher ?
9. Quel signe de ponctuation termine l'instruction PHP ? Cela vous rappelle-t-il quelque chose ?

Pour l'essayer il faut taper dans l'adresse du navigateur : localhost/test_votre nom de famille/essai1.php
10. Que se passe-t-il ? Est-ce ce que l'on voulait ?

 

Application 2:

Soit la page PHP/Html suivante:    

<!DOCTYPE html PUBLIC>
<html xml:lang="fr" lang="fr">
    <head>
        <title>Notre première instruction : echo</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>Affichage de texte avec PHP</h2>

        <p>
            <br />
        <?php
            echo "Ceci est mon texte";
        ?>
      </p>
    </body>
</html>


11. Sur le programme précédent entourez avec une première couleur la ou les parties en PHP et dans une autre couleur la ou les parties en HTML.


Taper ce petit programme, nommez-le « essai1.php » et enregistrez le dans votre répertoire de travail sur le serveur local.

12. Faire l'essai de la page
13. Que se passe-t-il ? Est-ce ce que l'on voulait ?
14. D'après ce qu'on a dit en début de TP, le serveur crée du HTML à partir du PHP mais le site généré est totalement en HTML. On va vérifier ça. Quand vous êtes sur la page de votre site « essai1.php » (avec Mozilla), faites « Ctrl U » (contrôle U) sur le clavier.  Une nouvelle fenêtre s'ouvre, elle contient le code source du fichier envoyé par le serveur. Qu'en pensez-vous ? Y-a-t-il notre instruction PHP « echo » ?



Intérêt de visualiser le code source (Ctrl U sous Mozilla)

Cette fonction « Ctrl U » est très pratique pour vérifier que le code généré ne contient pas d'erreurs. En effet, quand on mélange PHP et HTML on s'embrouille vite. Si l'erreur concerne le seul PHP, le site plante et un message d'erreur apparaît mais si c'est dans la partie HTML qu'il y a une erreur on ne le voit pas toujours à la programmation. Essayons maintenant de faire volontairement une erreur.

15. Reprenez le programme précédant et rajouter une balise <head> après, par exemple, la balise </p> (c'est bien une erreur car il ne devrait y avoir qu'une seule balise <head>, en début de programme). Essayer cette version buggée et afficher le code source avec « Ctrl U ».
16. Comment voit-on qu'il y a une erreur ?



3. Mettre des commentaires

Comme dans tout programme informatique il est important de mettre des commentaires dans le code.

En PHP il y a 2 méthodes :

  • sur une ligne : // commentaires
  • sur plusieurs lignes: /*             */


Application :

Soit la page PHP/Html suivante:

<!DOCTYPE html>
<html xml:lang="fr" lang="fr">
    <head>
        <title>Notre première instruction : echo</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>Affichage de texte avec PHP</h2>
         <p><br />
        <?php
            echo "Ceci est mon texte";  // texte à écrire
        ?>
        </p>
        <p><br />
        <?php
            /*
            la 2ème partie en PHP est ici
            */
            echo "j'ai beaucoup de talent, n'est-ce pas?";  // texte à écrire
        ?>
        </p>
      </body>
</html>


17. Entourer dans une première couleur les partie en PHP
18. Entourer ensuite dans une autre couleur les commentaires présents dans le code PHP
19. Copier ce programme dans notepad++. En quelle couleur notepad++ affiche-t-il les commentaires ?



 
4. Les variables et le test IF

Comme PHP est un langage de programmation on va pouvoir se servir de variables. Une variable étant une  information stockée en mémoire, elle n'a pas une grande durée de vie. En PHP, la variable existe tant que la page est en cours de génération. Dès que la page PHP est générée, toutes les variables sont supprimées de la mémoire car elles ne servent plus à rien. Ce n'est donc pas un fichier qui reste stocké sur le disque dur mais une petite information temporaire présente en mémoire vive.  

La variable est représentée par son nom précédé du $ et elle peut être du type entier, float, chaîne de caractère, …..


    exemples :    $nom= ''toto'' ;  // variable de type chaîne de caractères
            $taille = 12,5 ;  // variable de type float (flottant)
            $numero=3 ;    // variable de type Int (entier)

Et comme dans tout langage informatique il y a des structures algorithmiques traditionnelles (structures de test comme IF ou CASE, boucles WHILE, FOR, ….

 

Application :

Soit la page PHP/Html suivante:
<!DOCTYPE html>
<html xml:lang="fr" lang="fr">
    <head>
        <title>variables</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>variables et Affichage d'un texte différent suivant la variable</h2>
        <p><br />
        <?php
        $age = 8;
        if ($age <= 12)
        {
            echo "Salut gamin !, je sais que tu as ";
            echo $age;
            echo " ans";
        }
        else {
            echo "Bonjour jeune homme !, je sais que tu as ";
            echo $age;
            echo " ans";
            }
        ?>
        </p>
    </body>
</html>



20. Sur le code de la page PHP/Html précédent entourez en couleur la ou les parties en PHP.
21. Quelle est le nom de la variable PHP utilisée dans la page précédente ?
22. Soulignez en couleur cette variable PHP.
23. Sur le code de la page PHP/Html précédent entourez dans une autre couleur la structure IF ...ELSE.
24. Copier ce code dans Notepad++, enregistrer le sous le nom essai3.php. Essayez le et décrire ce qui se passe.
25. Récupérer avec « Ctrl U » le code généré par le serveur. Qu'est-ce que vous en pensez ?
26. Modifier maintenant le code en donnant la valeur 15 à la variable.
27. Essayez le et décrire ce qui se passe.
28. Récupérer avec « Ctrl U » le code généré par le serveur. Qu'est-ce que vous en penser ? Comparez au précédent.