Cumulus et le PHP

Logo Le Bidouilleur Météo     

PHP... Complément de Cumulus!

Pourquoi le PHP?

Comme nous l'avons vu dans le dernier article PHP pour les nuls, le PHP a beaucoup de similitudes avec les Balises Cumulus (Webtags); Cumulus et PHP remplacent tous deux des "mots spéciaux" contre de l'information pertinente.

Cumulus et le PHP

Dans cet article, nous verrons comment le PHP peut vous aider à personnaliser, rehausser et rendre plus intéractif votre Site Météo Personnel.

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.

Note : Si vous êtes novice en PHP, je vous suggère de lire PHP pour les nuls

Un peu de théorie

Débutons avec Cumulus

Comme vous le savez déjà, la force de Cumulus réside dans ses Balises spéciales, les Webtags. Elle permettent d'avoir 400 informations différentes, à partir de votre Stations Météo!

Les Balises Cumulus

Cumulus utilise des pages web ordinaire, dans lesquelles sont insérés des "mots spéciaux" qu'il reconnait par les "signes convenu" <# ...et... >. Il sait dès ce moment qu'il doit remplacer le mot encadré par ces signes, par une information qu'il obtien de votre Pc Météo.
Ex.: <#temp> pourrait donner -21,5°C, au Québec, en hiver!

Cumulus possède plus de 400 informations différentes que vous pouvez utiliser pour vos propres pages. Des options de transfer puissantes et versatiles sont disponibles dans le logiciel. Que vous décidiez de seulement modifier quelque peu les pages standards du modèle fourni par Cumulus et/ou de créer des pages inédites dans lesquelles vous insérez des Webtags, Cumulus a tout prévu!

Références :

Introduisons le PHP

Le PHP possède plusieurs avantages majeurs :

  • Une certaine similitude entre les Balises Cumulus et le langage PHP facilite son apprentissage, pour un utilisateur de Cumulus curieux.
  • Le PHP est un langage serveur: Donc, c'est le serveur de votre hénergeur web qui fait tout le travail! Il prend un fichier, exécute le code PHP et envoi à l'internaute une version html simple, lisible par tous les fureteurs.
  • Vous n'avez pas à ajouter d'extensions à votre fureteur, comme Java ou Flash puisque votre fureteur recoit du code html tout à fait classique.

Son fonctionnement

Nous avons vu que Cumulus a une fort longue liste de Balises spécialisées qu'il recherche dans vos pages via les codes <# ...et... >. il fait par la suite le remplacement de la Balise trouvée par l'information qu'elle représente (ex.: <#hum> contien la dernière valeur d'humidité lue.

Le PHP a un fonctionnement analogue. Il recherche un code particulier <?php ...et... > puis, considère ce qu'il y a entre ces 2 codes comme des commandes PHP a traiter. Nous avons vu précédemment comment insérer une date dans un format précis en insérant dans une page web le code suivant :<?php echo date('H:i:s, l d-m-Y'); ?>

Les variables

Les variables sont présentes dans tous les Langages de programmation (Web ou autre), elles permettent d'emmagasiner de l'informarion pour pouvoir être traitée par la suite. Le PHP a l'avantage d'être simple car il n'a pas besoin de "déclaration", avant d'y affecter une valeur.

En effet dans la plupart des langages vous devez commencer par "déclarer" à quoi servira la variable; ainsi une variable que vous auriez nommé "Total" (d'une facture) aurait comme déclaration "format: Nombre a 2 décimales", ou "format: monétaire".

Mais en PHP tout est plus facile, on affecte seulement une valeur à la variable, pas de déclaration. Seule règle à retenir: Un nom de variable commence TOUJOURS par un signe de dollar ($).

Ainsi, notre variable "Total" s'écrirait $Total.
On lui affecterait une valeur ainsi: $Total = 72.25;
(remarquez le point-virgule ";" pour terminer chaque phrases en PHP)

Un petit exemple :

Imaginons que nous souhaitons acheter dans une boutique de matériel météorologique, le matériel nécessaire à monter une Station Météo de première qualité. À la caisse, l'employé calcul notre "Total" représentant le prix de tous les articles. La caisse enregistreuse calculerait votre facture d'achat ainsi:

$Total = 273,98;    (Le total des items)
$Taux_Taxe = 0.15;    (Le Taux de la taxe de vente:: 15%)
$Taxes = $Total * $Taux_Taxe;   (Taxes à payer)
$Montant_a_Payer = $Total + $Taxes  (Le Total incluant les taxes)

Puis, votre facture imprimée indiquerait :

Total : 273,98 $
Taxes : 41.10$
Montant à Payer: 315,08$

Alors, voici en gros comment fonctionnent les variables en PHP. Nous sommes donc prêt à commencer à les utiliser à des fins plus intéressantes!

Intéraction Cumulus et PHP

On s'amuse un peu!

Maintenant, je vais vous donner quelques petits bouts de code intéressants pour votre Site Météo Personnel. En vous inspirant de ces exemples, vous pourrez rapidement améliorer votre site web. Pour l'instant, prenez une page html et faites-en une copie, mais avec l'extension .php.

Changer une unité de mesure

Comme premier projet, je vous propose de prendre un exemple simple, la mesure de la pression atmosphérique. Au Québec, nous utilisons le kilopascal (kPa), mais Cumulus offre la mesure en hectopascal (hPa). Sachant que 1 kPa = 10 hPa, il serait facile de diviser le chiffre obtenu de Cumulus, par 10 pour obtenir la mesure désirée.

Étape 1 :

Précédemment, je vous ai fait insérer la commande echo à l'intérieur d'une ligne html. Cette fois, vous devez entre 2 ligne, Insérer les lignes suivantes dans votre page web :

<?php      // début du code PHP
   $press = <#RCpress> / 10;  //$press prend la valeur de la Balise <#RCpress> et la dévise par 10
?>

... Maintenant que la variable $press existe nous pouvons nous en servir plus bas dans la page (d'où l'avantage de mettre toutes les variables PHP ensemble, au haut de la page).

Donc, plus bas dans votre page insérez une ligne du genre :

<p>Actuellement, la pression est de <?php echo $press; ?> kPa</p>

Maintenant, votre page est prête à être traitée par Cumulus pour y remplacer la Balise <#press> par de l'information météo réelle, ce qui devrait vous afficher, après traitement par Cumulus : Actuellement, la pression est de 101.6 kPa

Pluie ou neige, en image

Météo du Québec vous offre depuis un certain temps, des séries d'icônes météo fort appréciées des usager du site (voir ce lien). Mais au Québec, nous devons avoir 2 séries d'icônes: une pour l'été (pluie) et une autre pour l'hiver (neige). Donc, 2 fois par année, nous devons changer la série d'icônes pour avoir la bonne représentation de la précipitation. En effet, Cumulus fourni bien la Balise <#forecastnumber> qui donne une valeur de 0 à 26 à la prévision, donc facile d'y associer une image nommée de 0.png à 26.png, puis de l'afficher via une ligne comme celle-ci :.

<img src="images/<#forecastnumber>.png" alt="" title="" />

Après traitement par Cumulus, la phrase deviendrait:

<img src="images/1.png" alt="" title="" />

Mais si tôt au printemps, la journée commence froide et se réchauffe par la suite? Nous pourrions avoir de la neige en matinée et de la plue en après-midi... et encore de la neige en soirée... Donc, nous devrions changer la librairie d'icônes 3 fois dans la même journée!!!

Pour régler la situation, quelques lignes de code PHP pourraient faire le travail. Premièrement, insérons quelques lignes de PHP pour créer les variables nécessaires :

<?php
   $temp = <#RCtemp>;      // La Balise Cumulus pour la température extérieure.
   $icone_prev = <#forecastnumber>    // Le numéro de la prévision.
   if ($temp < 0) {      // Si température moins de zéro
      $icone_prev = $icone_prev . "_hiver";   // ajouter _hiver au nom de l'icône..
   }
?>

Ce bout de code vérifie SI (if) la température est sous le point de congélation (0°c). Si c'est le cas, il ajoute le texte "_hiver" au numéro de la prévision, dans le but de former le nom de l'image correspondante selon la température. Il ne nous reste plus qu'à afficher l'image dans notre page

<img src="images/<?php echo $icone_prev; ?>.png" alt="" title="" />

Après traitement par Cumulus, selon la température, la phrase deviendrait:

En hiver,  <img src="images/1_hiver.png" alt="" title="" />

En été,  <img src="images/1.png" alt="" title="" />

(en supposant que vous avez 2 séries d'icônes nommés 0.png à 26.png pour les icônes d'été et 0_hiver.png à 26_hiver.png pour la saison froide.)

Température de couleur changeante.

Prenons maintenant l'exemple de la température extérieure. Il pourrait être amusant d'avoir un affichage de la température d'une couleur différente selon s'il fait froid, tempéré ou chaud.

Donc, convenons que pour une température sous le point de congélation l'affichage serait en bleu, pour une température de plus de 30°c, l'affichage se fera en rouge et si la température est tempérée (entre 0 et 30), l'affichage sera en blanc. Entrez le code suivant :

<?php
   $temp = <#RCtemp>;      // La Balise Cumulus pour la température extérieure.
   if ($temp > 30) {      // Si la température dépasse 30°
      $couleur_temp = '#FF0000';   // Écrire en Rouge.
   } elseif ($temp < 0) {      // Si température moins de zéro
      $couleur_temp = '#0000FF';   // Écrire en Bleu.
   } else {         // Si température plus de 0 et moins de 30.
      $couleur_temp = '#FFFFFF';   // Écrire en Blanc.
   }
?>

Et un peu plus bas dans votre page, entrez la ligne suivante :

<p>Il fait: <span style="color:<?php echo $couleur_temp; ?>"><#temp></span></p>

Ce qui pourrait vous donner :

Il fait: 31,2°

J'espère que ces petits trucs vous ont donner envie d'aller encore un peu plus loin... Car notre prochain atelier traitera des Balises Cumulus et de la manière de les intégrer plus facilement à chaque page, tout en réduisant le total à téléverser sur votre site!

C'est un rendez-vous!