Bonjour, je me permet de m'auto-répondre et de vous présenter mon tuto car après plusieurs nuit blanches et beaucoup de bricolage, j'ai réussi à faire mon script si cela intéresse quelqu'un.
Je le fait fonctionner en passant par le serveur web hébergé sur mon NAS Synology.
Je ne sais pas s'il est très optimisé et s'il a été fait dans les règles de l'art mais au moins il a le mérite de faire ce que je lui demande . Actuellement il me permet de savoir grâce à un capteur HTTP s'il s'agit d'un jour de repos ou s'il faut aller courir J'ai créé un bouton sur le sonos de la salle de bain qui me donne par conséquent le planning d'entrainement du jour par la synthèse vocale.
Après avoir réfléchi à comment il devait fonctionné, j'ai récupéré des bouts de scripts PHP à droite à gauche sur Google que j'ai adapté. Donc désolé si certaines parties de code peuvent choquer les puristes du PHP
Je vais détailler les différentes étapes et vous indiquer ce qu'il faut modifier pour l'adapter à votre besoin...
- Code : Tout sélectionner
<?php
// Création du fichier XML pour que le résultat soit compatible avec la Eedomus :)
header('Content-type: application/xml'); echo '<?xml version="1.0" encoding="iso-8859-1"?>'; ?> <resultat> <?php //Calcule du nombre de jours restants avant le marathon (début) ------------------
//Date du jour $date=date("Y-m-d");
//Séparation de l'année, du mois et du jour $an= substr($date, 0, 4); $mois= substr($date, 5, 2); $jour= substr($date, 8, 2);
//Définition de la date du jour marathon (à modifier suivant votre date de course, la c'est celui de Bruxelle ^^) $an2= 2017; $mois2= 10; $jour2= 1;
//Calcul du timestamp $timestamp = mktime(0, 0, 0, $mois, $jour, $an); $timestamp2 = mktime(0,0,0, $mois2, $jour2, $an2);
//calcul de l'écart entre les 2 dates $temps= ($timestamp2 - $timestamp)/86400;
// Calcule du nombre de jours restants avant le marathon (fin)------------------------------
// Définition du planning d'entrainement (début) ----------------
switch ($temps) { case 0: echo "C'est aujourdui le jour de ton marathon."; break; case 1: echo "C'est ton jour de repos."; break; case 2: echo "Aujourdui il faut marcher 3 kilometre."; break; case 3: echo "Aujourdui il faut courir 5 kilometres."; break; case 4: echo "C'est ton jour de repos"; break; case 5: echo "Aujourdui il faut courir 5 kilometres"; break; case 6: echo "C'est ton jour de repos."; break; case 7: echo "Aujourdui il faut courir 13 kilometres"; break; case 8: echo "C'est ton jour de repos"; break; case 9: echo "Aujourdui il faut courir 5 kilometres"; break; case 10: echo "Aujourdui il faut courir 8 kilometres"; break; case 11: echo "C'est ton jour de repos."; break; case 12: echo "Aujourdui il faut courir 5 kilometres"; break; case 13: echo "C'est ton jour de repos."; break; case 14: echo "Aujourdui il faut courir 15 kilometres"; break; case 15: echo "C'est ton jour de repos"; break; case 16: echo "Aujourdui il faut courir 8 kilometres"; break; case 17: echo "Aujourdui il faut courir 13 kilometres"; break; case 18: echo "C'est ton jour de repos."; break; case 19: echo "Aujourdui il faut courir 8 kilometres"; break; case 20: echo "C'est ton jour de repos."; break; case 21: echo "Aujourdui il faut courir 32 kilometres"; break; case 22: echo "C'est ton jour de repos"; break; case 23: echo "Aujourdui il faut courir 8 kilometres"; break; case 24: echo "Aujourdui il faut courir 13 kilometres"; break; case 25: echo "C'est ton jour de repos."; break; case 26: echo "Aujourdui il faut courir 8 kilometres"; break; case 27: echo "C'est ton jour de repos."; break; case 28: echo "Aujourdui il faut courir 29 kilometres"; break; case 29: echo "C'est ton jour de repos"; break; case 30: echo "Aujourdui il faut courir 8 kilometres"; break; case 31: echo "Aujourdui il faut courir 13 kilometres"; break; case 32: echo "C'est ton jour de repos."; break; case 33: echo "Aujourdui il faut courir 8 kilometres"; break; case 34: echo "C'est ton jour de repos."; break; case 35: echo "Aujourdui il faut courir 28 kilometres"; break; case 36: echo "C'est ton jour de repos"; break; case 37: echo "Aujourdui il faut courir 8 kilometres"; break; case 38: echo "Aujourdui il faut courir 13 kilometres"; break; case 39: echo "C'est ton jour de repos."; break; case 40: echo "Aujourdui il faut courir 8 kilometres"; break; case 41: echo "C'est ton jour de repos."; break; case 42: echo "Aujourdui il faut courir 26 kilometres"; break; case 43: echo "C'est ton jour de repos."; break; case 44: echo "Aujourdui il faut courir 8 kilometres"; break; case 45: echo "Aujourdui il faut courir 13 kilometres"; break; case 46: echo "C'est ton jour de repos."; break; case 47: echo "Aujourdui il faut courir 8 kilometres"; break; case 48: echo "C'est ton jour de repos."; break; case 49: echo "Aujourdui il faut courir 26 kilometres"; break; case 50: echo "C'est ton jour de repos."; break; case 51: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 52: echo "Aujourdui il faut courir 11 kilometres"; break; case 53: echo "C'est ton jour de repos."; break; case 54: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 55: echo "C'est ton jour de repos."; break; case 56: echo "Aujourdui il faut courir 22,5 kilometres"; break; case 57: echo "C'est ton jour de repos"; break; case 58: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 59: echo "Aujourdui il faut courir 10 kilometres"; break; case 60: echo "C'est ton jour de repos."; break; case 61: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 62: echo "C'est ton jour de repos."; break; case 63: echo "Aujourdui il faut courir 20 kilometres"; break; case 64: echo "C'est ton jour de repos."; break; case 65: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 66: echo "Aujourdui il faut courir 10 kilometres"; break; case 67: echo "C'est ton jour de repos."; break; case 68: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 69: echo "C'est ton jour de repos."; break; case 70: echo "Aujourdui il faut courir 18 kilometres"; break; case 71: echo "C'est ton jour de repos."; break; case 72: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 73: echo "Aujourdui il faut courir 8 kilometres"; break; case 74: echo "C'est ton jour de repos."; break; case 75: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 76: echo "C'est ton jour de repos."; break; case 77: echo "Aujourdui il faut courir 16 kilometres"; break; case 78: echo "C'est ton jour de repos."; break; case 79: echo "Aujourdui il faut courir 5 kilometres"; break; case 80: echo "Aujourdui il faut courir 8 kilometres"; break; case 81: echo "C'est ton jour de repos."; break; case 82: echo "Aujourdui il faut courir 5 kilometres"; break; case 83: echo "C'est ton jour de repos."; break; case 84: echo "Aujourdui il faut courir 13 kilometres"; break; case 85: echo "C'est ton jour de repos."; break; case 86: echo "Aujourdui il faut courir 5 kilometres"; break; case 87: echo "Aujourdui il faut courir 8 kilometres"; break; case 88: echo "C'est ton jour de repos."; break; case 89: echo "Aujourdui il faut courir 5 kilometres"; break; case 90: echo "C'est ton jour de repos."; break; case 91: echo "Aujourdui il faut courir 11 kilometres"; break; case 92: echo "C'est ton jour de repos."; break; case 93: echo "Aujourdui il faut courir 5 kilometres"; break; case 94: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 95: echo "C'est ton jour de repos."; break; case 96: echo "Aujourdui il faut courir 5 kilometres"; break; case 97: echo "C'est ton jour de repos."; break; case 98: echo "Aujourdui il faut courir 10 kilometres"; break; case 99: echo "C'est ton jour de repos."; break; case 100: echo "Aujourdui il faut courir 5 kilometres"; break; case 101: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 102: echo "C'est ton jour de repos."; break; case 103: echo "Aujourdui il faut courir 5 kilometres"; break; case 104: echo "C'est ton jour de repos."; break; case 105: echo "Aujourdui il faut courir 8 kilometres"; break; case 106: echo "C'est ton jour de repos."; break; case 107: echo "Aujourdui il faut courir 5 kilometres"; break; case 108: echo "Aujourdui il faut courir 6,5 kilometres"; break; case 109: echo "C'est ton jour de repos."; break; case 110: echo "Aujourdui il faut courir 5 kilometres"; break; default: echo "Pas de preparation de marathon en cours"; }
?> </resultat>
Pour récupérer le résultat dans le capteur il faut utiliser le X-Path /resultat sans cocher "convertir le Json en Xml".
Voila normalement tout est expliqué dedans. Si vous avez des questions n'hésitez pas à demander.
Là je vous parle uniquement du script, si vous le souhaitez je pourrais vous expliquer comment l'utiliser dans l'Eedomus avec la synthèse vocale.
En espérant que ça aide quelqu'un
|