Titre
Rappels
- Les logiciels AMP installés (apache et php contenu dans le pack wampServer ou autre) doivent être lancés (à la main ou automatiquement)
- Avec WampServer, les fichiers sont stockés dans un répertoire de travail qui se trouve dans C:/wamp/wwww/.
Sous Linux, il sera soit dans /home/userId/public_html, soit dans /var/www/. - L'accès aux fichier se fait à traves le navigateur, à l'adresse "localhost".
On remet le couvert avec Hello World.
Pour produire ce texte html, il nous faut écrire le code php qui envoie "hello world" dans le fichier html résultat. (ouh, c'est bien compliqué tout ça !!!)
Non, non, rien de bien sorcier : on ouvre le php, on envoie le texte et on referme le php comme ceci :
<?php echo "Hello World"; ?>
Quel intérêt ?
Ici, pas beaucoup, mais plus loin, le php prendra tout son sens
- Démarrer AMP,
- Créer le dossier TP_php_01_debuter dans le répertoire c:/wamp/www/ (et pas ailleurs pour ceux qui ont wampserver, les autres ...), y entrer,
- Créer un nouveau fichier texte et le renommer hello.php, l'ouvrir avec l'éditeur de texte,
- Recopier le code précédent dans ce fichier,
Tester l'application php :
- Lancer votre navigateur et aller à l'adresse du serveur local : localhost,
- Naviguez jusque dans votre répertoire et appeler la page hello.php,
- Admirer sa première page web dynamique (yess)
Que voit-on ?
Une commande essentielle du php : echo
Cette commande permet de produire du code html qui sera envoyé au navigateur client.
Ainsi, on va mettre toute la page dans des commandes echo, enfin … la partie dynamique car si une page php ne contient pas du code php entre <?php
et ?>
, c'est que c'est du html.
Histoire de rigoler, vous pouvez ouvrir le fichier sans passer par http://localhost ... ça marche ? non, hein ?!
Normal : on ne passe pas par apache et php n'est pas appelé pour exécuter la partie php du script.
Nous allons faire un test d'insertion de code php au milieu du code html :
Créer le fichier texteDivers.php et y copier/coller le code suivant, tester via http://localhost.
- Et je coupe le html pur …
- <?php
- echo "J'écris en html avec du <b>php</b>"; // envoi d'un texte html au navigateur
- ?>
- Et je remet le html …
Et voilà! Ça fume ?
Remarquer :
Les lignes avant et après le code PHP sont du code HTML pur.
Dans la chaine de caractères envoyée au navigateur par Echo, on y met aussi du HTML pur … donc pourquoi pas des balises ?
Quel intérêt ?
Le code PHP est un véritable programme qui permet de produire du code HTML à la demande, en fonction des données qui sont transmises à la page, en fonction des données qui sont trouvées dans les bases de données.
Le mélange html/php peut être plus intégré encore, de plus, il y a plein d'autres mots clés pour écrire du PHP. Voila de quoi en découvrir quelques uns.
Ouvrir la page bonjour.php avec un contenu basique (copier le code ci-dessous) :
- <?php
- // une page pour savoir la date et l'heure
- ?>
- Bonjour, nous sommes le
- <?php
- echo date("d/m/Y");
- ?>
- Et il est <?php echo date("H:i"); ?> heure
Remarquer :
//
: est une remarque et sert à expliquer le code (ou des bouts de code)- Le code PHP peut être mis sur une seule ligne et n'importe où dans le code HTML
;
: est obligatoire à la fin de chaque ligne de PHP, sinon ça plante (vous verrez bientôt, c'est l'erreur la plus courante … ;-)()
: après une fonction prédéfinie ou définie par l'utilisateur et qui peut contenir des arguments, comme en maths : soit la fonction f telle que y=f(x) et bla bla beurk," "
: les doubles guillemets (les simples aussi), servent à encadrer les chaines de caractères, sinon soucis …
Dans le fichier accueil.php, ajouter les lignes suivantes (et seulement celles-ci)
- <?php
- $nom="votre nom";
- ?>
- <h1>Bienvenue sur le site de <?php echo $nom; ?></h1>
Évidemment, remplacer "votre nom" par votre nom entre " ".
Remarquer :
- $nom est une variable dans laquelle on peut mettre une valeur ("votre nom") et que l'on peut réutiliser plus loin, on peut même la modifier a volonté et la réafficher plus tard …
Une variable est comme une boite à laquelle on a donné un nom et dans laquelle on peut mettre n'importe quelle valeur, de (presque) n'importe quel type.
Le contenu de cette variable peut être changé (écrasé, remplacé) et récupéré (substitution du nom par la valeur à l'exécution du code) pour utiliser son contenu (la valeur) comme on veut.
[Modification de toutes les pages précédentes + entete.php et pied.html]
L'informatique sert avant tout à en faire plus avec moins d'efforts … (travaillez plus … qu'il disait !)
1) Un peu de comm et de fainéantise
Le design, l'enrobage du cœur de notre page est souvent le même d'une page à l'autre. C'est très bien pour l'internaute car il se créera ses repères de navigation dans notre site, il comprendra (le plus facilement et rapidement possible) comment notre site est architecturé.
Par ailleurs, reconstruire le design est fastidieux et si on peut demander à la machine de le faire à notre place, pourquoi ne pas en profiter et flemmarder un peu au lieu de programmer ???
2) Inclure l'entête et le pied de page
Toutes les pages d'un site ont le même entête (titre, menu, etc.) et le même pied de page.
Nous pouvons donc rédiger l'entête et le pied dans des fichiers séparés et les inclure dans toutes les pages du site automatiquement, grâce à la commande PHP include.
Ces fichiers sont, comme la feuille CSS, écrits une seule fois pour tout le site.
C'est le moment de tester tout ceci : reprenons les différents fichiers bus précédemment ; vous remarquerez qu'il manque un tas de lignes : l'entête et le pied des pages.
Ouvrir et observer les fichiers entete.php et pied.html (deux types différents, pour varier les plaisirs …)
Ils contiennent du code html brut, utilisable tel que.
Pour les inclure dans notre page d'accueil, sans copier le contenu à la main, on va ajouter des lignes au début et d'autres à la fin de l'accueil.php :
Au début :
<?php include "entete.php"; ?>
Et à la fin :
<?php include "pied.html"; ?>
Testons : le résultat est plutôt fun, non ? en plus, il y a même un menu qui est identique à toutes les pages.
C'est de cette façon qu'on fera le design de tous nos sites dans l'avenir :
on inclue des fichiers qui contiennent du code html ou php pour toutes les parties communes à toutes les pages, voire plus, pour des fonctions, des affichages particuliers.
Par exemple, on pourrait y mettre des formulaires différents et les inclure en fonction des besoins …