Créer un site PHP

Logo PHP

PHP... le langage facile!


Météo du Québec ouvre avec cet article, une toute nouvelle section pour ceux qui veulent pousser plus loin le développement de leur site web.

Pourquoi le PHP?

PHP est un "Langage Web" facile à apprendre et à comprendre. Il a aussi l'avantage d'être inclu dans la très grande majorité des forfaits d'hébergement. Nous référons à la version 5.x dans ce site.

Pourquoi PHP avec Cumulus?

Pour débuter, Cumulus et PHP fonctionnent de la même manière, en remplaçant des mots spéciaux par de l'information.

Prérequis :

Pour cet atelier, vous aurez besoin :

  • Un logiciel de transfert FTP.
  • Un bon éditeur de texte.
  • Un site avec PHP v5.x (ou mieux) activé.
  • Vos codes d'accès pour FTP.
  • Logiciel Cumulus v.1.9 ou plus récent.

La base du PHP

PHP Facile!... Vraiment?


Le Syndrome de la page blanche

Si nous avions à "vendre" le PHP, le principal argument de vente chez les débutants serait : Avec PHP, vous n'aurez jamais le "Syndrome de la page blanche" !

Effectivement, si vous débutez en PHP, vous pouvez réaliser votre première page PHP en seulement 3 secondes! Prenez une page .html simple de votre choix et enregistrez la avec l'extension .php... et voilà! Vous avez votre toute première page PHP!

La page sera traitée par votre serveur Web, comme une page PHP régulière... sauf qu'il ne trouvera pas de commande PHP à exécuter à l'intérieur; il se contentera donc d'affichier la page comme une page html ordinaire.

PHP, le html "enrichie".

Comme vous venez de le constater, une page PHP débute bien souvent par une page html tout à fait ordinaire à laquelle on ajoute quelques commandes PHP pour ajouter un peu de "vie" à vos pages web.

Une page html ressemble finalement à une page d'un livre; une fois écrite, son contenue ne change plus. Si vous voulez changer quelque chose dans votre page html, vous la devez modifier et la publier de nouveau sur votre site. Si nous voulons avoir une page qui change fréquemment, comme une page météo, nous devons implanter un "mécanisme" qui le fera pour nous à interval régulier... tout comme Cumulus le fait avec vos pages météo!

Similitudes avec les Balises Cumulus

Si vous êtes rendu à considérer le PHP pour développer votre site météo, voux connaissez probablement déjà les Balises Cumulus (Webtags). Cumulus téléverse sur votre site des pages web qu'il a traitées au préalable en remplacant simplement les Balises Cumulus par de l'information météo.

Si nous prenons une image d'enfance pour illustrer ce mécanisme; souvenez-vous de ces fameuses "dictées trouées" que nos professeurs de français nous passaient à l'école. Un petit texte dans lequel certains _ _ _ _ étaient absents du texte et remplacés par des tirets. Ces tirets étaient traités par le cerveau de l'écolier comme une commande à exécuter:
Remplacer la trouée par un maux égal au nombre de tirets!

Et bien PHP, autant que Cumulus travaille de cette manière: Comme l'écolier, il prend le texte d'une page et y remplace un "signe connu" (le "_" de l'écolier), par une information qu'il doit trouver (pour l'écolier, _ _ _ _ = Trouver mot de 4 lettres).

Avec Cumulus

Lorsque Cumulus scrute les pages web, il est à la recherche de "signes connus" à remplacer par de l'information lue de votre station météo. Il recherche les signes  <# ...et... > lui indiquant que le "mot spécial" ainsi encadré (la Balise Cumulus), doit être remplacé par la valeur qu'il représente.

Exemple : <p>Il fait présentement <#temp>, à l'extérieur</p>

Lorsque Cumulus rencontre le signe convenu : <# ... > il interprète son contenu, temp comme un "mot spécial" (une variable) qu'il doit remplacer. Ainsi l'internaute voit le résultat final ainsi:

Il fait présentement 21,4°C, à l'extérieur

Sur votre "Pc Météo", Cumulus surveille votre stationm météo en continue et envoi de nouvelles pages web sur votre site à intervalle régulier (ex.15 minutes). Vos internautes lisent tous la même page, jusqu'à la prochaine mise-à-jour.

Avec PHP

Le PHP quant à lui fonctionne un peu de la même manière que Cumulus, en remplacant des "mots spéciaux" par de l'information; sauf que le travail se fait en continue, sur le serveur web de votre hébergeur. Chaque fois qu'une page est lue, elle est d'abord traitée par le serveur web pour y insérer les informations les plus récentes. Donc, à la rigueur, la page affichée pourrait être différente de celle affichée... 10 secondes avant.

Contrairement à Cumulus qui ne fait que du remplacement de mots spéciaux par de l'information déjà préparée, PHP lui peut lire plusieurs mots et déclencher des actions pour en venir à "calculer" une information à afficher. PHP cherche 2 "signes connus" indiquant que ce qui est entre ces 2 signes est à considérer comme du "code PHP" à traiter.

Ainsi le signe  <?php  indique début du code PHP, tandis que  ?>  indique la fin de la section de code PHP.L'éventail de codes à insérer est très variée et peut compter seulement quelques mots, des pages entières et même se servir de fichiers ou de bases de données extérieures.

Un peu de concret :

Si nous prenons un Site Cumulus en exemple, il pourrait être intéressant de faire apparaître la date du jour et l'heure en entête de vos pages. Nous pourrions le faire facilement en ajoutant la Balise Cumulus <#time> à l'endroit souhaité, mais l'heure resterait la même jusqu'au prochain téléversement de Cumulus sur votre site.

Avec PHP, rappelons-nous qu'il écrit dans votre page, le résultat d'une action, à l'endroit souhaité. Pour ce faire, PHP fournit un ensemble de "mots spéciaux", dont la commande "echo" qui signifie "écrire" et la fonction date() qui affiche les dates, selon les arguments spécifiés entre parenthèses.

Définissions un peu mieux les nouveaux "mots spéciaux" de PHP :

° Une Commande fait une action (ex. echo = écrire)
° Une Fonction est une série de Commandes
° L'Argument est un paramètre pour guider l'action

Alors, mettons tout celà en pratique avec notre date!

Nous demanderons à la commande echo d'écrire la date dans un format bien précis. À l'endroit propice dans votre page écrivez:

<?php echo date('H:i:s, l d-m-Y'); ?>

En résumé:

<?php ... ?> : Indique que le contenu doit être traité en PHP
echo : Affiche le résultat de la fonction date().
date : Renvoi la date dans le format spécifié par les arguments
arguments :
  H:i:s : Heure, minutes, secondes, séparés par les deux-points ":"
  , l : Affiche une virgule suivi du nom du jour.
  d-m-Y : Affiche jour, mois, année sur 4 chiffres, séparés par des tirets "-"

Ce qui devrait vous afficher : 02:07:11, Monday 18-12-2017