Bonjour, j’ai récupéré le code ci après d’un exemple présenté mais je n’arrive pas à le faire fonctionner, la variable meteo_conseiljour est vide à l’issue de son déroulement
Si quelqu’un peut m’aider à faire dire cette variable
// Récupération des valeurs de condition et température
// ====================================================
$cmd = cmd::byString('#[Exterieur][Quatzenheim][Condition prochaines heures]#');
$condition_jour = $cmd->execCmd();
$cmd = cmd::byString('#[Exterieur][Quatzenheim][Température Maximum Jour]#');
$temperature_max_jour = $cmd->execCmd();
$cmd = cmd::byString('#[Exterieur][Extérieur][Température]#');
$temperature_actu_jour = $cmd->execCmd();
//
// Déclaration des tableaux de conseils
// ====================================
$conseils_prendre = array();
$conseils_eviter = array();
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
//
// Construction d'un début de phrase différent selon que la condition soit un nom ou un adjectif
// =============================================================================================
$phrase_conseils = "... Bonjour. aujourd'hui nous sommes le $datefr ";
if (preg_match("/^([A-z]*)s\s/i",trim($condition_jour))) {
$phrase_conseils .= "la météo sera constituée de ";
} else {
$phrase_conseils .= "le temps sera ";
}
//
// Ajout de la condition du jour et de la température à la phrase
// ==============================================================
$phrase_conseils .= $condition_jour;
$phrase_conseils .= ", avec des températures comprises entre ".round($temperature_actu_jour,0)." et ".round($temperature_max_jour,0)." degrés. ";
//
// Analyse de la condition du jour par expressions régulières
// ==========================================================
if (preg_match("/pluie|bruine|précipitation/i",$condition_jour)) {
$type_condition = "pluie";
} elseif (preg_match("/soleil|beau/i",$condition_jour)) {
$type_condition = "soleil";
} elseif (preg_match("/eige/i",$condition_jour)) {
$type_condition = "neige";
} elseif (preg_match("/nuage|couvert/i",$condition_jour)) {
$type_condition = "nuageux";
}
//
// Analyse de la température max par tranches
// ==========================================
if ($temperature_max_jour <= 0) {
$type_temperature = "grand_froid";
} elseif ($temperature_max_jour <= 10) {
$type_temperature = "froid";
} elseif ($temperature_max_jour <= 20) {
$type_temperature = "pas chaud";
} elseif ($temperature_max_jour <= 25) {
$type_temperature = "bon";
} elseif ($temperature_max_jour <= 30) {
$type_temperature = "chaud";
} elseif ($temperature_max_jour <= 35) {
$type_temperature = "très chaud";
} else {
$type_temperature = "canicule";
}
//
// Construction des conseils selon les types définis ci-dessus
// ===========================================================
if ($type_temperature == "grand froid" || $type_condition == "neige") {
$conseils_prendre[] = "des gants";
$conseils_prendre[] = "un gros manteau";
$conseils_eviter[] = "les plaques de verglas";
}
if ($type_condition == "pluie") {
$conseils_prendre[] = "un parapluie";
$conseils_prendre[] = "des chaussures imperméables";
$conseils_eviter[] = "les flaques d'eau";
$conseils_eviter[] = "l'aquaplanning";
}
if ($type_condition == "soleil") {
$conseils_prendre[] = "des lunettes de soleil";
}
if ($type_temperature == "chaud" || $type_temperature == "très chaud" || $type_temperature == "canicule") {
$conseils_prendre[] = "à boire";
$conseils_prendre[] = "de la crême solaire";
}
if ($type_temperature == "très chaud" || $type_temperature == "canicule") {
$conseils_eviter[] = "le soleil aux heures dangereuses";
}
if ($type_condition == "nuageux") {
$conseils_prendre[] = "une bonne dose d'humour";
}
// Transformation des tableaux en éléments de phrases
// ==================================================
$nb_conseils_prendre = sizeof($conseils_prendre);
if ($nb_conseils_prendre>0) {
$phrase_conseils .= "Pensez à prendre ";
foreach ($conseils_prendre as $key=>$conseil) {
if ($key !== $nb_conseils_prendre - 1 || $nb_conseils_prendre == 1) {
// si un seul conseil ou pas le dernier, on concatène le conseil et une virgule
$phrase_conseils .= "$conseil, ";
} else {
// en cas de dernier élément du tableau, on vire la virgule et on lie par un 'et'
$phrase_conseils = preg_replace("/\,$/","",trim($phrase_conseils));
$phrase_conseils .= " et $conseil.";
}
}
// on vire toute virgule finale qui trainterait
$phrase_conseils = preg_replace("/\,$/",".",trim($phrase_conseils));
} else {
$phrase_conseils = "";
}
// Rebelote avec les choses à éviter
$nb_conseils_eviter = sizeof($conseils_eviter);
if ($nb_conseils_prendre > 0) {
if ($nb_conseils_eviter > 0) {
$phrase_conseils .= "En revanche, pensez à éviter ";
}
} elseif ($nb_conseils_eviter>0) {
$phrase_conseils .= "Pensez à éviter ";
}
if ($nb_conseils_eviter>0) {
foreach ($conseils_eviter as $key=>$conseil) {
if ($key !== $nb_conseils_eviter - 1 || $nb_conseils_eviter == 1) {
$phrase_conseils .= "$conseil, ";
} else {
$phrase_conseils = preg_replace("/\,$/","",trim($phrase_conseils));
$phrase_conseils .= " et $conseil.";
}
}
$phrase_conseils = preg_replace("/\,$/",".",trim($phrase_conseils));
}
// Stockage dans une variable qu'on utilisera avec le TTS
// ======================================================
$scenario->setData("meteo_conseiljour",$phrase_conseils);
Quand je regarde dans mes variables, meteo_conseiljour est vide