Forum eedomus
https://forum.eedomus.com/

lune
https://forum.eedomus.com/viewtopic.php?f=15&t=1504
« Précédent  Page 2 sur 2
Auteur:  Domo-tic [ 22 Juin 2014 18:29 ]
Sujet du message:  Re: lune

Voici un script PHP que je viens de créer pour récupérer les infos sur la Lune (phase, état, pourcentage, image)
à partir du site web http://www.calendrier-lunaire.fr/lune/

Code : Tout sélectionner
<?php

setlocale(LC_TIME, "fr_FR"); // ou "fr"

$url = "http://www.calendrier-lunaire.fr/the-moon/";

// Lecture d'un fichier HTML
function lit_html($chaine,$isFile) {
   // on lit le fichier ou la chaîne
   if($isFile) $chaine = @file_get_contents($chaine);
   if($chaine) {
      return $chaine;
   }
}

$html_infos = lit_html($url,true);

$moon_img = "not found";
$moon_img1 = preg_split("/<div class=\"moon\">/",$html_infos);
$moon_img2 = preg_split("/<\/div>/",$moon_img1[1]);
$moon_img3 = $moon_img2[0];
$moon_img4 = preg_split("/\"/",$moon_img3);
$moon_img5 = preg_split("/\"/",$moon_img4[1]);
$moon_img = $moon_img5[0];

$moon_state = "unknown";
$moon_pourcent = "-1";
// Lune croissante
if ( preg_match("/moon_wax/",$moon_img) ) { 
   $moon_state = "waxing";
   $moon_pourcent1 = preg_split("/moon_wax_/",$moon_img);
   $moon_pourcent2 = preg_split("/.png/",$moon_pourcent1[1]);
   $moon_pourcent = $moon_pourcent2[0];
}
// Lune décroissante
if ( preg_match("/moon_wan/",$moon_img) ) { 
   $moon_state = "waning";
   $moon_pourcent1 = preg_split("/moon_wan_/",$moon_img);
   $moon_pourcent2 = preg_split("/.png/",$moon_pourcent1[1]);
   $moon_pourcent = $moon_pourcent2[0];
}

$moon_phase = -1;
// Lune croissante
if ( $moon_state == "waxing" ) {
   // Lune nouvelle
   if ( $moon_pourcent >=0 and $moon_pourcent <10 ) {
      $moon_phase = 1;
   }
   // Lune premier croissant
   if ( $moon_pourcent >=10 and $moon_pourcent <40 ) {
      $moon_phase = 8;
   }
   // Lune premier quartier
   if ( $moon_pourcent >=40 and $moon_pourcent <60 ) {
      $moon_phase = 7;
   }
   // Lune gibbeuse montante
   if ( $moon_pourcent >=60 and $moon_pourcent <90 ) {
      $moon_phase = 6;
   }
   // Lune pleine
   if ( $moon_pourcent >=90 and $moon_pourcent <=100 ) {
      $moon_phase = 5;
   }
}
// Lune décroissante
if ( $moon_state == "waning" ) {
   // Lune nouvelle
   if ( $moon_pourcent >=0 and $moon_pourcent <10 ) {
      $moon_phase = 1;
   }
   // Lune dernier croissant
   if ( $moon_pourcent >=10 and $moon_pourcent <40 ) {
      $moon_phase = 2;
   }
   // Lune dernier quartier
   if ( $moon_pourcent >=40 and $moon_pourcent <60 ) {
      $moon_phase = 3;
   }
   // Lune gibbeuse descendante
   if ( $moon_pourcent >=60 and $moon_pourcent <90 ) {
      $moon_phase = 4;
   }
   // Lune pleine
   if ( $moon_pourcent >=90 and $moon_pourcent <=100 ) {
      $moon_phase = 1;
   }
}

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
echo "<moon>";
echo "  <phase>".$moon_phase."</phase>";
echo "  <state>".$moon_state."</state>";
echo "  <pourcent>".$moon_pourcent."</pourcent>";
echo "  <image>".$moon_img."</image>";
echo "</moon>";

?>


Ce script PHP est a héberger sur votre serveur Web (NAS, etc..) et génère lors de son appel une page Web de type XML contenant :
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1" ?>
<moon>
  <phase>2</phase>
  <state>waning</state>
  <pourcent>22</pourcent>
  <image>http://www.calendrier-lunaire.fr/moon/moon_wan_22.png</image>
</moon>


:arrow: Lune Phase :
Autre type de périphérique = HTTP - Capteur
Type de données : "Liste de valeurs"
URL de la requête : "http://votreserveurweb/script.php",
Chemin XPATH : "/moon/phase"
-1 = Indéterminée
1 = Nouvelle Lune
2 = Dernier Croissant
3 = Dernier Quartier
4 = Lune Gibbeuse descendante
5 = Plein Lune
6 = Lune Gibbeuse montante
7 = Premier Quartier
8 = Premier Croissant

:arrow: Lune Etat :
Autre type de périphérique = HTTP - Capteur
Type de données = "Liste de valeurs"
URL de la requête = "http://votreserveurweb/script.php",
Chemin XPATH = "/moon/state"
unknown = Indéterminée
waning = Lune Décroissante
waxing = Lune Croissante

:arrow: Lune Pourcentage :
Autre type de périphérique = HTTP - Capteur
Unité = %
Type de données = "Nombre décimal"
URL de la requête = "http://votreserveurweb/script.php",
Chemin XPATH = "/moon/pourcent"

:arrow: Lune URL Image :
Elle est contenue dans le Chemin XPATH = "/moon/image"
de la forme http://www.calendrier-lunaire.fr/moon/moon_wan_22.png

:arrow: Lune exemples d'Icônes :
http://www.deviantart.com/art/Presto-s-Moon-Phases-53625689
http://www.deviantart.com/morelikethis/artists/187306753?view_mode=2/#/art/plain-moon-phase-icons-212524125?hf=1
Auteur:  ASECADOMOTIQUE54 [ 22 Juin 2014 22:09 ]
Sujet du message:  Re: lune

salut domo-tic,
Merci pour le partage je viens de télécharger et de remettre en 128x128 les icones issues de http://www.calendrier-lunaire.fr/moon/moon_wan_22.png
à télécharger ci aprés il n'ya plus qu'a créer des valeurs brutes 10,22,24,26...100 dans Lune Pourcentage avec les valeures brute pour les faire correspondre par contre pas de trace des images pour les valeurs 0,2,4,6,8
https://drive.google.com/folderview?id=0B5J9Te9oqAvSVVVTUWVqX21Zak0&usp=sharing
et phase de lune en 128x128
https://drive.google.com/folderview?id=0B5J9Te9oqAvSaHJQMFhMMjdWc2c&usp=sharing

beau boulot ;)
Auteur:  Domo-tic [ 23 Juin 2014 10:56 ]
Sujet du message:  Re: lune

ASECADOMOTIQUE54 a écrit:aprés il n'y a plus qu'a créer des valeurs brutes 10,22,24,26...100

Pas tout à fait, car pour la Lune croissante (waxing) ça varie de 0 à 100% (par pas de 2) mais pour la Lune décroissante (waning) ça varie aussi de 0 à 100% (par pas de 2).
Il faudrait donc en théorie 2 périphériques "Lune Pourcentage", 1 pour la croissante et 1 pour la décroissante.
De plus, si tu veux mettre toutes les valeurs brutes, il va te falloir créer 2x51=102 valeurs dans eeDomus (de 00, 02, 04, [...], 98, 100 pour wan[ing] et idem pour wax[ing]).

Pour ma part, c'est dans "Lune Phase" que j'ai juste importé 8 images de la lune (1 = Nouvelle Lune, 2 = Dernier Croissant, 3 = Dernier Quartier, 4 = Lune Gibbeuse descendante, 5 = Plein Lune, 6 = Lune Gibbeuse montante, 7 = Premier Quartier, 8 = Premier Croissant)

ASECADOMOTIQUE54 a écrit:par contre pas de trace des images pour les valeurs 0,2,4,6,8

Je me suis posé la même question, Il faut en fait mettre un zéro devant, c'est à dire : 00, 02, 04, 06, 08.
Exemples pour Lune croissante et décroissante à 4% :
http://www.calendrier-lunaire.fr/moon/moon_wax_04.png
http://www.calendrier-lunaire.fr/moon/moon_wan_04.png
Auteur:  ASECADOMOTIQUE54 [ 23 Juin 2014 13:10 ]
Sujet du message:  Re: lune

merci pour ces précisions Domo-tic :) ,je vais rajouter les icônes manquantes de 0 à 8 pour ceux qui souhaite les utiliser, si j'ai bien compris que ce soit en lune montante ou descendante la valeur brute est la même donc pas moyen de mettre ces 100 valeurs sur un même periph, pas dramatique car ton script remonte l'info waning ou waxing, je crois que je vais laisser comme ça tant pis les icônes seront juste inversées lors des waxing si dans mon cas je n'ai que les icônes waning c'est bien ça?
je vais essayer de dénicher des icônes pour periph waxing waning
Auteur:  raphael_malin [ 13 Août 2014 11:40 ]
Sujet du message:  Re: lune

Hello, le script n'est pas utilisable directement dans l'eedomus?
J'ai des erreurs:
"La fonction utilisateur lit_html() doit être préfixée par 'sdk_'
La fonction setlocale() n'est pas autorisée
La fonction lit_html() n'est pas autorisée
La fonction file_get_contents() n'est pas autorisée
La fonction preg_split() n'est pas autorisée
La fonction preg_match() n'est pas autorisée"
Auteur:  bigoudène1 [ 13 Août 2014 12:18 ]
Sujet du message:  Re: lune

raphael_malin a écrit:Hello, le script n'est pas utilisable directement dans l'eedomus?
J'ai des erreurs:
"La fonction utilisateur lit_html() doit être préfixée par 'sdk_'
La fonction setlocale() n'est pas autorisée
La fonction lit_html() n'est pas autorisée
La fonction file_get_contents() n'est pas autorisée
La fonction preg_split() n'est pas autorisée
La fonction preg_match() n'est pas autorisée"


:wave: raphael_malin,

j'ai mis le script Lune de madoma73 que j'ai trouvé sur la page des scripts. Tout fonctionne impec.
Auteur:  Tinto [ 13 Août 2014 12:50 ]
Sujet du message:  Re: lune

Salut,

Ca date d'avant l'ère des scripts intégrés, celui la il faut l’héberger sur un serveur ;)
Auteur:  Domo-tic [ 17 Août 2014 15:57 ]
Sujet du message:  Re: lune

Tout à fait.
Auteur:  xianghua [ 01 Mars 2017 14:09 ]
Sujet du message:  Re: lune

Pour info, le script ne fonctionne plus.
L'url donne un 404 désormais, j'ai testé avec la nouvelle url, mais ça ne fonctionne tjs pas.
Bon ceci dit je me suis jamais servis de la position de la lune pour un scénario.
Auteur:  latoupie [ 01 Mars 2017 23:17 ]
Sujet du message:  Re: lune

Pareil chez moi mais c'était pour le fun. Dommage

Envoyé de mon SM-G935F en utilisant Tapatalk
Auteur:  Madoma73 [ 12 Juin 2017 10:11 ]
Sujet du message:  Re: lune

le mien marche toujours, je dis ça :mrgreen:

https://www.domo-blog.fr/les-phases-lune-eedomus/
Page 2 sur 2 Le fuseau horaire est UTC+1 heure