création d'un script pour afficher un planing d'entrainement

Discussion et échanges de scripts pour la box eedomus

création d'un script pour afficher un planing d'entrainement

Messagepar Kernum » 13 Juil 2017 18:11

Bonjour,
je souhaiterai faire un projet PHP (sans aucune base de PHP :? ) c'est pour cela que je me permet de solliciter une âme charitable qui saura m'aider. Je vous explique.

Ma compagne s'entraine pour les marathons et, par conséquent, suit un entrainement de 3 mois. Chaque jour est une distance à courir différente. Parfois il y a des jours de repos, etc.

Je souhaiterai créer un script qui me permettrai de faire remonter l'exercice du jour ou le repos sous forme de texte contenu dans un fichier XML (afin de le récupérer dans l'Eedomus).

Je dispose d'un serveur web sur un nas Synology (qui me sert pour ma télécommande Harmony) qui tourne sous Ubuntu.

Je me doute qu'il faudra surement alimenter une base de donnée MySql ou quelque chose du genre qui pourra être hébergée sur mon NAS.

Le top du top serait qu'elle n'ai qu'à rentrer la date du marathon dans le fichier pour qu'il se déclenche tout seul de façon autonome 3 mois avant.

Je pense que ce doit être compliqué à mettre en place mais je demande quand même au cas ou.
J'ai déjà regardé sur différents forums, j'ai essayé de m'inspirer des différents scripts présents ( alertes sur le ramassage des ordures, anniversaires, etc.) mais je ne sais pas du tout comment m'y prendre.


Merci de votre aide, je sais que ce doit être énorme à programmer mais bon je tente le coup :mrgreen:

Merci à vous.
Kernum
 
Messages : 72
Inscription : 04 Mars 2017

Re: création d'un script pour afficher un planing d'entraine

Messagepar Kernum » 15 Juil 2017 14:32

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 :D. 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 :cry:
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 :mrgreen:

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 ;)
Kernum
 
Messages : 72
Inscription : 04 Mars 2017


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 16 invité(s)