5 – Module 2 – Xplanet

Voilà mon module préféré 🙂 Celui que je trouve le plus joli et qui mériterait un écran pour lui tout seul. L’affichage de la terre avec la phase d’ensoleillement et la carte des nuages en temps réel ainsi que la phase de la lune 🙂

jarvis_screenshot_xplanetCe module s’appuie sur le logiciel Xplanet qui permet de générer des images de toutes les planètes et satellites natuels du système solaire. Vous pouvez représenter, en temps réel toujours, le système solaire en entier avec la position des astres et planètes, zoomer sur une ou plusieurs planètes etc,…

Concernant la terre, vous pouvez afficher la position des villes et tout un tas d’informations météos notamment. Il est également possible de représenter nos satellites artificiels, avec leur position réelle, leur orbite, etc… Je vous laisse parcourir la galerie de screenshot de Xplanet qui donne une idée des possibilités et du rendu. Perso, je trouve cela magnifique 🙂 Un jour, j’achèterai un grand écran juste pour afficher le système solaire 😀

Xplanet

Installation

Xplanet est un soft qui existe depuis… très longtemps ! Il est dispo dans les dépôts Debian, donc pour l’installer, rien de plus simple :

apt-get install xplanet

Les maps

Xplanet contient de base une « map » pour chaque planète (une image qui représente la surface). Vous pouvez, et je vous le conseille, télécharger des maps de meilleure qualité en haute définition. Il est également intéressant de télécharger une map dédiée à la partie de la surface de la terre non exposée au soleil (nuit), sinon, Xplanet se contentera d’asombrir la map du jour.

Vous trouverez ici de nombreuses maps pour la terre et tous les autres astres du système solaire :

Exemple de map pour la terre – jour :

earth-livingExemple de map pour la terre – nuit :

night-electricXplanet se chargera de créer une combinaison des deux images pour repésenter la partie ensoleillée de la terre et la partie plongée dans l’obscurité.

Génération des images

Xplanet n’est au final qu’un générateur d’image qui représente les astres dans leur état à un instant T et depuis un certain point de vue. Tout se passe en ligne de commande, et comme vous avez pu le constater en parcourant le site web de Xplanet, il y des centaines d’options ! Je vais ici me limiter aux paramètres que j’utilise pour mon affichage.

Je génère en fait deux images distinctes, une pour la terre et une pour la lune. Voici mon fichier de configuration xplanet.conf :

[default]                       # Values in this section apply to all bodies unless overridden below.

arc_color=white
arc_thickness=1
bump_scale=3
cloud_gamma=1
cloud_ssec=false
cloud_threshold=90
color={255,255,255}             # fallback color in case an image map isn't found
draw_orbit=false
grid=false
grid1=6
grid2=15
magnify=1
marker_color=red
max_radius_for_label=3
min_radius_for_label=.01
min_radius_for_markers=40
orbit={-.5,.5,2}
orbit_color={255,255,255}       # color for the orbit
random_origin=true
random_target=true
shade=30                        # 0 = black, 100 = same as dayside
text_color={255,0,0}            # color for text (markers & body label)
twilight=6                      # blend the day and night images for
                                # pixels within this many degrees of
                                # the terminator

[sun]
"Sun"
color={255,255,166}
map=/home/jarvis/xplanet/img/sunmap.jpg
max_radius_for_label=0
shade=100

[earth]
"Earth"
color={28, 82, 110}
map=/home/jarvis/xplanet/img/land_ocean_ice_2048.jpg
night_map=/home/jarvis/xplanet/img/night-dark.jpg
cloud_map=/home/jarvis/xplanet/img/clouds_2048.jpg
min_radius_for_label=0

[moon]
"Moon"
color={100, 100, 100}
map=/home/jarvis/xplanet/img/moonmap2k.jpg

Dans les sections [earth] pour la terre et [moon] pour la lune, vous voyez les chemins vers les maps pour le mode jour « map » et le mode nuit « night_map« .

Les nuages

Vous avez également repéré la map « cloud_map » pour la terre. En effet, Xplanet permet de calquer une image ou carte des nuages sur la terre pour obtenir un résultat très réalise avec la couverture nuageuse modiale presque en temps réel.

cloud_combined_2048Vous pouvez obtenir cette carte des nuages ou « cloud_map » sur différents sites. Selon les sources, elles sont mises à jour entre 1 et 10 fois par jour : http://xplanet.sourceforge.net/clouds.php

Il convient de faire un petit script qui va télécharger la dernière carte des nuages publiée. Une tâche CRON se chargera d’exécuter le script à intervalle régulier. Voici mon script xplanet_cloud.sh :

#!/bin/sh

pat=/home/jarvis/xplanet/img/ # destination de l'image téléchargée
tmp=$pat"tmp_clouds_2048.jpg" # nom du fichier temporaire
img=$pat"clouds_2048.jpg"     # nom du fichier final

rm $tmp # supprimer l'ancien fichier temporaire

wget -O $tmp http://xplanet.sourceforge.net/clouds/clouds_2048.jpg # télécharge l'image

if [ -f $tmp ] ; then # si le fichier a bien été téléchargée...
  mogrify -resize 2000x1000 $tmp # redimenssionne l'image téléchargée pour qu'elle est la même résolution que la map "jour"
  mv $tmp $img # remplace l'ancienne image par la nouvelle
  chown -R jarvis:www-data $pat && chmod -R 775 $pat # change les droits sur le fichier
fi

N’oubliez pas de rendre le script exécutable avec un chmod 755 xplanet_cloud.sh 😉

Et voilà la tâche CRON associée qui peut être configurée en utilisant la commande crontab -e :

0 */4 * * *     /home/jarvis/xplanet/xplanet_cloud.sh

Toutes les 4 heures, le script est exécuté et une nouvelle carte des nuages est téléchargée 🙂

Générer les images

Dernière étape, lancer xplanet au démarrage du système pour qu’il génère les images de la terre et de la lune toutes les N minutes. Pour un petit script qui contient deux commandes (une pour l’image de la terre et une pour l’image de la lune). Voici mon script xplanet.sh :

#!/bin/sh

# TERRE
xplanet -conf /home/jarvis/xplanet/xplanet.conf -output /home/jarvis/xplanet/img/xplanet_earth.png -wait 120 -body earth -latitude 40 -longitude 10 -geometry 500x500 &

# LUNE
xplanet -conf /home/jarvis/xplanet/xplanet.conf -output /home/jarvis/xplanet/img/xplanet_moon.png -wait 600 -body moon -geometry 250x250 &

On passe à la commande xplanet les paramètres suivants :

  • -conf : le fichier de configuration xplanet.conf
  • -output : le fichier de sortie
  • -wait : l’intervalle de temps, en seconde, à attendre entre chaque génération d’image (120 secondes soit 2 minutes pour la terre, pour pouvoir bien observer l’ensoleillement tout au long de la journée. 600 secondes soit 10 minutes sont suffisantes pour la lune, dont la phase varie très lentement).
  • -body : nom du corps céleste à afficher, définie dans le fichier de configuration
  • -geometry : taille, en pixel, de l’image générée
  • -latitude & -longitude : permet de fixer le point centrale de l’image pour la terre. En choisissant la latitude 40 et la longitude 10, l’image sera centrée à peu près sur l’Italie. N’y voyez aucune affinité particulière avec ce pays, simplement c’est un angle de vue qui laisse apparaitre la France et toute l’Europe, l’Afrique en entière, une bonne partie de la Russie, les Amériques, et le pôle nord 🙂 C’est joli ! Vous pouvez également choisir le point de vue du soleil par exemple, pour toujours voir la face ensoleillée de la terre, ce qui permettra de voyager un peu et de ne pas voir toujours la même partie du globe 🙂

Il suffit ensuite de place ce script dans le répertoire /etc/init.d et de lancer la commande suivante pour qu’il soit exécuté à chaque démarrage du système :

update-rc.d xplanet.sh defaults

Nous avons fait la moitié du travail 🙂 Toutes les 2 minutes, une nouvelle image (de 500×500 pixels) de la terre est générée avec une carte des nuages mise à jour toutes les 4 heures. Toutes les 10 minutes, l’image de la phase de la lune ( de 250×250 pixels) est mise à jour.

xplanet_earthxplanet_moon

Il ne nous reste plus qu’à créer le module qui affiche ces images sur notre écran 🙂

index.php

Dans la page d’index, nous ajoutons deux balises <div>, contenant chacune une balise <img>, une pour la terre et une pour la lune.

  <div id="earth"><img id="img_earth" src="pict/blank.png"></div>
  <div id="moon"><img id="img_moon" src="pict/blank.png"></div>

Pour éviter l’affichage d’une erreur au chargement de la page il convient d’initialiser les sources des balises <img> avec une image vide blank.png.

style.css

La feuille de style pour ce module est très simple car il suffit de définir la position et la taille des div qui contiennent les images à afficher.

/* earth */

div#earth
{
  width             : 500px;
  height            : 500px;
  left              : 0px;
  top               : 0px;
  position          : absolute;
  overflow          : hidden;
  background-color  : rgba(0, 0, 0, 1);
}

/* moon */

div#moon
{
  width             : 250px;
  height            : 250px;
  left              : 500px;
  top               : 0px;
  position          : absolute;
  overflow          : hidden;
  background-color  : rgba(0, 0, 0, 1);
}

javascript.js

Il s’agit simplement de remplacer l’image affichée par la nouvelle image générée. Le problème c’est que le nom du fichier ne changeant pas, le navigateur aura tendance à afficher l’image qui est déjà stockée dans son cache. Pour palier ce problème nous ajouterons un timestamp (date et heure exprimées en nombre de secondes écoulée de le 1er janver 1970) dans le chemin de l’image. De cette manière le navigateur pensera qu’il s’agit d’une nouvelle image à chaque fois.

Par souci de fluidité, il convient également de précharger les images avant de les substituer à l’écran. On évite ainsi que l’image se charge au fur et à mesure de son affichage.

/* xplanet */

var xplanet_timeout;

function xplanet () {

  var now = new Date().getTime();

  /* préchargement des images */
  var img_earth = $("<img />").attr("src", "xplanet/img/xplanet_earth.png?"+now);
  var img_moon  = $("<img />").attr("src", "xplanet/img/xplanet_moon.png?"+now);

  /* affichage des nouvelles images à l'écran */
  $("#img_earth").attr("src", "xplanet/img/xplanet_earth.png?"+now);
  $("#img_moon").attr("src", "xplanet/img/xplanet_moon.png?"+now);

  xplanet_timeout = setTimeout("xplanet()", 120000);
}

La fonction est exécutée toutes les 120000ms (soit toutes les 2 minutes) ce qui, au final, fait défiler l’ensoleillement de la terre et de la lune au fil de la journée 🙂

C’est vraiment plaisant d’observer le défilement de l’ensoleillement au cours de la journée, et de pouvoir prévoir la météo des prochains jours en constant l’approche d’une grosse perturbation au nord ouest de la France 🙂

80 réflexions au sujet de « 5 – Module 2 – Xplanet »

  1. caumo

    Bonjour,

    Je ne trouve pas le fichier xplanet.conf apres l’installation.

    Aussi non super idée, me tarde de finir.

    Répondre
  2. bong101

    Bonsoir

    Super, les articles, travail de qualité au service d’idées innovantes.

    Un question puisque je suis sur la page d’xplanet….et plus particulièrement l’affichage des phases de la Lune. Ce soir, le croissant de lune était orienté complétement vers le bas….et dans le dash, le croissant était éclairé de bas en haut….donc ce qui ne va pas n’est pas le % d’éclairage mais son orientation. On peut faire quelque chose?

    Sinon, tant pis…
    Super, le blog. Si, si, j’insiste

    Répondre
    1. Olivier Auteur de l’article

      Bonjour, merci beaucoup, ça fait très plaisir 🙂

      Si je comprend bien votre soucis avec la lune, c’est que l’image générée par Xplanet est comme tournée à 90 degrés ? Si oui, est ce que l’image d’origine générée par Xplanet est bien générée ? Si oui, peut être est-ce un problème de configuration d’Xplanet, notamment au niveau du point de vue. En effet, Xplanet permet de générée des images des corps célestes depuis n’importe quel autre corps ou planète. Vous pouvez vérifier dans la conf, que la lune est bien observée depuis la terre 🙂

      Bonne continuation, et excellente année 2014 🙂

      Répondre
  3. android38

    Bonjour,
    Déjà félicitation pour ce super tuto.
    Ensuite je n ‘arrive pas à trouver le fichier xplanet.conf

    J’ai besoin d’aide SVP

    Merci d’avance

    Répondre
  4. android38

    Bonsoir

    Merci bcp pour ta réponse.

    Je viens de créer un module météo qui récupère les info depuis openweathermap.

    Ensuite je vais faire un module d’affichage de mes prochains rdv de google Agenda.

    Si ça t intéresse…

    En tout cas très beau projet bravo

    Répondre
  5. doubleve

    Bonsoir,
    j’aimerais avoir si possible des infos de la part d’olivier sur xplanet car étant novice en linux et le projet tellement intéressant que je n’arrive pas à me dépatouiller du problème, et toutes mes recherches me renvois ici.
    pour commencer : je suis sur raspbian, les sources à afficher sont dans /var/www.

    j’ai installé xplanet
    pour la génération des images : j’ai remplacé tous les chemins « /home/jarvis/xplanet/img » par « /var/www/xplanet/img ».
    ———————————-
    1er pb :
    script xplanet_cloud.sh : idem changement du chemin mais où doit être ce fichier.

    dans cette ligne que dois je modifier par rapport à ma config ? « chown -R jarvis:www-data $pat && chmod -R 775 $pat # change les droits sur le fichier ».

    pour la commande crontab -e je suis pas expert mais n’y a til pas un « s » en trop à xplanet_cloud.sh ?
    ————————————
    2 eme pb :

    à la création du script xplanet; sh
    ala commande update j’ai une erreur « insserv: warning: script ‘xplanet.sh’ missing LSB tags and overrides »

    voilà les problèmes rencontré en essayant de mettre en place ce fabuleux projet; si une âme charitable peut m’ éclairer ce serait FANTASTIQUE !!!!!

    merci

    Répondre
    1. Olivier Auteur de l’article

      Hello,
      Le script xplanet_cloud.sh peut être placé n’importe où, il suffit de mettre le bon chemin dans la tâche CRON pour appeler ce script toutes les 4 heures 🙂 Il y a cependant un « s » en trop comme tu l’as souligné, je viens de le corriger 🙂
      Pour ton deuxième problème, oui effectivement je n’ai pas pris la peine de créer les tags LSB. Cela n’est en rien gênant pour l’exécution du script, mais tu peux les rajouter si tu le souhaite 🙂
      Voici un exemple de tag LSB que tu peux mettre pour ce script :

      ### BEGIN INIT INFO
      # Provides: xplanet
      # Required-Start:
      # Required-Stop:
      # Default-Start: 2 3 4 5
      # Default-Stop: 0 1 6
      # Short-Description: Xplanet
      # Description: Enable service provided by daemon.
      ### END INIT INFO

      Bonne continuation à toi 🙂

      Répondre
  6. TEILLE

    bonjour,
    tout marche nickel pour xplanet sauf l’affichage des nouvelles images terre et lune générées par xplanet.sh : ces images sont bien créées avec le timestamp et placées dans le rép « xplanet/img » mais elles ne s’affichent pas dans le navigateur ..

    n’y aurait-il pas une erreur dans le code de javascript.js (qui a déja une coquille « img_mon » au lieu de « img_moon » (cf. sous commentaire « préchargement des images ») ?

    sinon, ce projet est vraiment sympa : merci !

    L. Teille

    Répondre
    1. Olivier Auteur de l’article

      Hello,
      Je viens de corriger la coquille img_mon => img_moon, merci de l’avoir remontée 🙂
      Est ce que les droits sur les images sont bien positionnés pour que Apache puisse les lire ? Si oui, est ce que les chemins pour accéder à l’image sont les bons ?
      Bonne continuation à vous 🙂

      Répondre
      1. TEILLE

        Merci Olivier ! Tout est OK après avoir chowné les images au profit de www-data (user et group).

        PS (un peu hors sujet ..) :
        J’attends avec impatience le développement de modules de Digital Signage pour échapper aux Xibo, Concerto, Screenly et autres OS dédiés à l’affichage dynamique sur les Raspberries : ce serait sympa de garder la page d’accueil magnifique avec xplanet et basculer de temps à autre (ou de façon aléatoire) sur des diaporamas photos ou videos en flash et pourquoi pas streamer une chaine TV, afficher un fil d’infos … Le but est d’alimenter le grand écran TV du hall d’entrée de notre établissement .. Mais ni le temps ni les compétences pour développer moi-même en php, pgsql, javascript, …

        Merci encore pour tout !
        Laure

        Répondre
        1. Olivier Auteur de l’article

          Hello Laure,
          Content de voir que tout fonctionne 🙂
          Pour le grand écran TV du hall, il est tout à fait possible de faire ce que tu souhaites. Je peux peut être t’aider à réaliser cela si besoin. N’hésites pas à revenir vers moi 🙂

          Répondre
  7. doubleve

    merci olivier de ces précieux conseils.
    moi j’ juste un petit soucis au niveau des nuages je dois avoir pb de droit car l’image cloud est bien générée mais elle fait 0 k. voici une copie du script, je suis loin d’être un spécialiste 😉

    #!/bin/sh

    pat=/var/www/xplanet/img/ # destination de l’image téléchargée
    tmp=$pat »tmp_clouds_2048.jpg » # nom du fichier temporaire
    img=$pat »clouds_2048.jpg » # nom du fichier final

    rm $tmp # supprimer l’ancien fichier temporaire

    wget -O $tmp http://xplanet.sourceforge.net/clouds/clouds_2048.jpg # télécharge l’image

    if [ -f $tmp ] ; then # si le fichier a bien été téléchargée…
    mogrify -resize 2000×1000 $tmp # redimenssionne l’image téléchargée pour qu’elle est la même résolution que la map « jour »
    mv $tmp $img # remplace l’ancienne image par la nouvelle
    chown -R j/var/www:www-data $pat && chmod -R 775 $pat # change les droits sur le fichier

    Répondre
    1. Olivier Auteur de l’article

      Hello,
      Pour faire un test, tu peux directement exécuter une à une les commandes du script.
      En faisant :
      wget -O tmp_clouds_2048.jpg http://xplanet.sourceforge.net/clouds/clouds_2048.jpg
      Tu devrais obtenir une image. Si cette étape fonctionne, tu peux lancer la commande qui redimenssionne l’image téléchargée :
      mogrify -resize 2000×1000 tmp_clouds_2048.jpg
      Si cela ne fonctionne pas, vérifies que tu as bien installé imagemagick :
      apt-get install imagemagick
      A ce stade tu devrais obtenir une image en 2000×1000 pixels 🙂

      Répondre
  8. doubleve

    voila je que j’ai lors du lancement:

    root@debian:~# wget -O tmp_clouds_2048.jpg http://xplanet.sourceforge.net/clouds/clouds_2048.jpg
    –2014-04-28 20:16:48– http://xplanet.sourceforge.net/clouds/clouds_2048.jpg
    Résolution de xplanet.sourceforge.net (xplanet.sourceforge.net)… 216.34.181.96
    Connexion vers xplanet.sourceforge.net (xplanet.sourceforge.net)|216.34.181.96|:80…connecté.
    requête HTTP transmise, en attente de la réponse…302 Found
    Emplacement: http://xplanet.sourceforge.net.nyud.net:8080/clouds/tmp/201404280046.923027/clouds_2048.jpg [suivant]
    –2014-04-28 20:16:49– http://xplanet.sourceforge.net.nyud.net:8080/clouds/tmp/201404280046.923027/clouds_2048.jpg
    Résolution de xplanet.sourceforge.net.nyud.net (xplanet.sourceforge.net.nyud.net)… échec: Nom ou service inconnu.
    wget : impossible de résoudre l’adresse de l’hôte «xplanet.sourceforge.net.nyud.net»

    Répondre
    1. Olivier Auteur de l’article

      Ah bah apparemment il n’arrive pas à télécharger l’image :/
      Tu es derrière un proxy ou quelque chose que est succeptible de bloquer le port 8080 en sortie ?

      Répondre
    1. doubleve

      bizarre j’ai créer un nat du port (alors que je suis en dmz) et il la télécharge quand je lance la commande de redimensionnement voilà ce que j’ai

      « mogrify.im6: géométrie invalide `2000×1000′ @ error/geometry.c/ParseRegionGeometry/1464.)

      si j’éfface la photo pour la re télécharger impossible, si je reboot le serveur ça marche

      Répondre
      1. Olivier Auteur de l’article

        Il semble que nous ayons à faire à un cas de bug surnaturel, je préviens Sculder et Muldy immédiatement 😀

        Répondre
        1. doubleve

          je dois être débile 🙁 .je reprend le projet de 0 car ça me saoule. As tu un tuto à copier coller spécial handicapé de linux.je voudrais « juste » xplanet, la météo et date heure. je pensais pouvoir m’en sortir mais là c’est plus fort que moi !!! dernière tentative après j’abandonne .

          Répondre
          1. Olivier Auteur de l’article

            Ah non ! On n’a pas le droit d’abandonner !
            Tu es loin d’être débile puisque tu cherches à comprendre 🙂
            Tout reprendre calmement depuis le début, étape par étape, peut permettre de résoudre les problèmes 🙂
            Bonne continuation à toi, et n’hésites pas si besoin 😉

  9. doubleve

    bonsoir
    bon je suis reparti de 0.
    pour xplanet la nuit avance correctement ça ok
    pour la lune apparition d’un carre jaune foncé autour, ça c’est une première
    pour les nuages:
    avec la commande « wget -O tmp_clouds_2048.jpg http://xplanet.sourceforge.net/clouds/clouds_2048.jpg » il télécharge bien l’image.
    avec la commande « mogrify -resize 2000×1000 tmp_clouds_2048.jpg » il recréé à la bonne dimension dans mon dossier pi mais ne mets pas l’image dans /var/www/xplanet/img.

    quand je veux tenter de retélécharger l’image j’ai le même pb qu’hier soir:
    « Résolution de xplanet.sourceforge.net.nyud.net (xplanet.sourceforge.net.nyud.net)… échec: Nom ou service inconnu. » je pense qu’on doit être limité en téléchargement sur le site.

    et dernière chose pourquoi un $ dans le script et pas dans le terminal?

    wget -O $tmp http://xplanet.sourceforge.net/clouds/clouds_2048.jpg

    Répondre
    1. Olivier Auteur de l’article

      Bonne nouvelle 🙂
      Il peut effectivement y avoir une limitation sur le nombre de téléchargement. Perso, je vais chercher l’image une fois toutes les 4 heures.
      Après avoir redimenssionné l’image avec mogrify, il convient de faire un mv pour placer l’image dans le bon répertoire et écraser l’ancienne image.
      Pour ce qui est du $, il sert à « désigner » une variable 🙂 Donc pour faire le test dans un terminal, tu peux directement écrire ce que tu veux 🙂

      Répondre
        1. Olivier Auteur de l’article

          J’ai exactement le même problème. Cela se produit uniquement au moment de la nouvelle lune. Le reste du temps, tout est normal.
          Si tu trouve une parade, ça m’intéresse 😉

          Répondre
          1. doubleve

            Bon alors petit soucis de mise a jour de l’image nuit avec firefox. l’image est bien mise a jour dans le dossier, mais pas de rafraichissement dans le navigateur; et toujours le pb avec les nuages le fichier tmp_cloud est créer dans pi il fait 0b.

          2. doubleve

            petite rectification l’image temp_cloud de 0 b est bien celle téléchargée sur le serveur par contre elle ne se renomme pas en clouds_2048.jpg et ne va pas dans /var/www/xplanet/img.

            est ce normal de faire les commande que tu m’as donné avec sudo?

          3. Olivier Auteur de l’article

            Dans l’absolue non c’est pas normal ^^

          4. doubleve

            ah peut être un semblant de réponse
            après un ls -l voici ce que j’ai:

            « total 144
            -rwxrwxrwt 1 root root 1075 août 31 2013 ajax.php
            -rwxrwxrwt 1 root root 1394 août 31 2013 fork.php
            drwsrwsrwt 2 root root 4096 avril 29 18:49 ifstat
            -rwxrwxrwt 1 root root 6852 avril 24 18:33 inc.php
            -rwxrwxrwt 1 root root 1329 avril 29 18:58 index.php
            -rwxrwxrwt 1 root root 20 janv. 4 2013 info.php
            -rwxrwxrwt 1 root root 3295 août 31 2013 javascript.js
            -rwxrwxrwt 1 root root 93636 déc. 15 2012 jquery.js
            drwsrwsrwt 2 root root 4096 avril 29 18:49 pict
            -rwxrwxrwt 1 root root 4363 août 31 2013 style.css
            drwsrwsrwt 2 root root 4096 avril 29 18:49 vpn
            drwsrwsrwt 3 root root 4096 avril 30 19:28 xplanet »

            si l’utilisateur pi n’y est pas il peut pas écrire !!!alors comment faire?

          5. Olivier Auteur de l’article

            Il faut soit tout faire en root (c’est pas bien !!!), soit donner les bons droits à l’utilisateur Pi, ou changer les droits sur les répertoires que tu utilises 🙂

          6. Jean-François

            Pour le souci du carré jaune autour de la nouvelle lune, on peut le résoudre via le fichier css en arrondissant la zone d’affichage de la lune et en éliminant les marges autour pour coller exactement à la lune, sachant que la lune seule fait 224px sur les 250px de l’image :

            pour la div #moon, il faut ajouter les lignes suivantes… :
            #moon
            {
            width: 224px; (la lune seule, et non pas les 250px de l’image)
            height: 224px;
            border-radius : 112px; (= 224 / 2, pour arrondir la zone)
            overflow: hidden; (pour cacher ce qui dépasse de la zone)
            }

            …et créer un style pour l’image, permettant de la recentrer dans la zone :
            #moon img
            {
            margin-left: -13px; (= (250 – 224) / 2)
            margin-top: -13px;
            }

            Du coup, j’ai fait pareil pour la terre (sachant qu’elle occupe 450px sur les 500px de l’image), ce qui m’a aussi permis ensuite de rapprocher beaucoup plus les 2 images sans qu’elles ne se chevauchent.

          7. Olivier Auteur de l’article

            Ah oui bien vu Jean-Francois 🙂 Merci pour l’astuce 🙂

        2. doubleve

          j’ai tout repris de 0 ce matin pour la deuxième fois.
          bilan tout marche sauf les nuages( encore et tjrs).
          quand je teste la commande:
          mogrify -resize 2000×1000 tmp_clouds_2048.jpg
          mogrify.im6: impossible d’ouvrir l’image `tmp_clouds_2048.jpg’: Permission non a ccordée @ error/blob.c/OpenBlob/2638.

          l’image se télécharge bien en tmp_clouds_2048.jpeg dans le dossier pi.
          comment faire ???

          Répondre
          1. Olivier Auteur de l’article

            La réponse se trouve dans ta question :

            impossible d’ouvrir l’image `tmp_clouds_2048.jpg’: Permission non accordée

          2. doubleve

            j’avais bien compris le pb mais comment on fait ???? c’est ça ma question

          3. Olivier Auteur de l’article

            chown puis chmod sur le répertoire ou fichier en question 🙂

  10. doubleve

    j’ai mis les droits chmod 775 sur img et tjrs le même soucis chargement de l’mage dans img mais 0 b.ça me frustre si prêt du but !!!!!! 🙁

    Répondre
    1. Olivier Auteur de l’article

      faut regarder toute la chaîne, et voir étape par étape là où ça coince. Parce qu’à l’aveugle c’est difficile de t’aider plus :/

      Répondre
  11. Alessandro Londero

    Bonjour,
    J’essaye d’afficher les images mais je reste bloqué avec une image noire le script xplanet.sh s’exécute bien les nuages aussi mais je reste bloqué avec l’affichage de blank.png.
    Pour avoir testé autre chose si je remplace le blank.png par les images directes l’affichage se fait alors bien… Mais ce n’est pas recommandé.

    Toutes les images ont bien les droits user:www-data donc ce n’est pas un problème de droit.
    Aussi je n’arrive pas à aller plus loin car pour la météo aussi ça coince. (Comme si les appels ne se faisaient pas.

    Si vous pourriez m’orienter ce serait super.
    Encore merci pour votre travail. Je compte monter un raspberry sur un ancien écran de portable mais j’attend la pièce pour le relier donc en attendant je fait les tests via vnc.

    Bonne journée

    Répondre
    1. Olivier Auteur de l’article

      Hello Alessandro,
      Ton problème laisse penser que c’est du coté JavaScript que ça coince.
      Est ce que tu as bien insérer la lib JQuery dans ton index.php ? Si oui, tu peux utiliser FireBug pour debuger les appels JavaScripts.
      Bonne continuation à toi 🙂

      Répondre
      1. Alessandro Londero

        J’ai bien la ligne suivante dans mon index.php

        Il s’agit de la seule ligne contenant JQuery
        Elle est suivie de

        Sinon j’obtient ceci avec firebug

        http://imageshack.com/a/img843/1192/qufu.png

        Je ne vois pas si le script est bien appelé ou pas.

        Aussi j’ai revérifié et j’ai bien tous les paquets requis qui sont installé et que javascript est bien activé sur mon navigateur.

        PS : J’essaye actuellement étape par étape (je n’ai activé que horloge et les deux planètes pour le moment)

        Répondre
        1. Olivier Auteur de l’article

          Dans firebug, regarde dans l’onglet « console » et rafraichis la page pour voir si il y a des erreurs au lancement 🙂

          Répondre
      2. Alessandro Londero

        Non aucune erreur dans la console (mais pas d’affichage)

        Où se trouve l’appel pour remplacer l’image pict/blank.png ?
        Ou faut-il remplacer par l’image se trouvant dans xplanet?
        Merci de votre implication

        Répondre
        1. Olivier Auteur de l’article

          Ce n’est pas normal qu’il n’y ait rien dans la console. En théorie du devrais avoir une ligne pour chaque appel de fonction à intervalles réguliers.

          Répondre
  12. Archibal11

    a la cde update-rc.d xplanet.sh defaults j’obtiens :
    update-rc.d: using dependency based boot sequencing
    insserv: script xplanet.sh is not an executable regular file, skipped!

    qu’est ce que j’ai raté??

    Sinon excellent boulot!

    Répondre
    1. Archibal11

      update-rc.d: using dependency based boot sequencing
      insserv: script xplanet.sh is not an executable regular file, skipped!
      insserv: fopen(.depend.stop): Permission denied

      Répondre
      1. Archibal11

        PB résolu pour insserv: script xplanet.sh is not an executable regular file, skipped!
        en faisant un chmod 755 xplanet.sh mais maintenant j’ai :
        can not remove les RC0.d/… a RC6.d/…

        insserv: can not remove(../rc6.d/K09reboot): Permission denied
        insserv: can not symlink(../init.d/reboot, ../rc6.d/K10reboot): Permission denied
        insserv: can not remove(../rc6.d/K03rsyslog): Permission denied
        insserv: can not symlink(../init.d/rsyslog, ../rc6.d/K04rsyslog): Permission denied
        insserv: can not symlink(../init.d/xplanet.sh, ../rc6.d/K01xplanet.sh): Permission denied
        insserv: fopen(.depend.stop): Permission denied

        Répondre
        1. Seb

          Bonjour,
          Je sais que ça date, mais as-tu résolu ton problème?
          Si oui, te rappelles-tu comment?
          Merci
          Seb

          Répondre
  13. razdoris

    un grand merci pour ce projet que j’ai fortement copié comme un gros noob que je suis
    perso j’utilise une tablette Lazer comme écran se qui me permets de switcher sur mon serveur z-way.

    par contre j’ai été obligé de faire un chmod 755 xplanet.sh et d’y intégrer les LSB sinon ça ne fonctionnait pas.

    Répondre
  14. Ulthane

    Problème pour DL la Cloud_map.
    Toujours cette Host error, du coup j’ai fait une petite recherche, et j’ai remarqué que les liens ont changé, le serveur autorise deux download par jour soit 1 tout les 24h.
    Donc modification du crontab -e.
    Et modification du script xplanet_cloud.sh, voici le lien que j’ai trouvé et qui fonctionne :
    http://xplanetclouds.com/free/local/clouds_2048.jpg

    Répondre
  15. Ludo

    Tout à l’heure j’avais bien la carte des nuages qui s’affichait tout bien (j’ai galérer pour les droits mais je me suis obstiné ^^) et la j’ai testé un reboot et plus rien, j’ai refait toute la manip et ca recommence à me dire que je n’ai pas les bonnes permissions hors je les ai vérifié et toujours les mêmes (pi / www-data et chmod 755) du coup vu ce que dis Ulthane est ce qu’il ne faut pas éditer le crontab pour prendre en compte cette limitation de download et qui « bloquerait » le script si on le tente en manuel ?

    Répondre
  16. Sébastien

    Bonjour, oui il faut bien l’édité. Tu mets : 00 */12 * * * /ton/repertoire/xplanet/xplanet_clouds.sh

    Tu applique un chmod 775 sur le fichier sh

    Sinon je sais pas vous, mais moi j’ai un bug avec la carte des nuage, il y’a un gros carré de nuage sur le haut de la terre. J’ai regardé et ces du a la carte de base qui écrit une ligne de nuage sur le haut et le bas de l’image, quelqu’un a t-il trouve une autre carte ou comment réglé se soucis ????

    Répondre
    1. Olivier Auteur de l’article

      Bonjour Sébastien,
      Navré pour ma réponse tardive.
      J’ai parfois ce bug également, qui vient de la carte des nuages elle même.

      Répondre
  17. Quentin

    Bonjour,

    Je suis rendu a ce module-ci, j’ai tout fini.

    Cependant, impossible de trouver le logiciel xPlanet.

    Est-ce normal? Car je ne peux pas voir le résultat du Module 2 en conséquence.

    Cordialement

    Répondre
    1. Olivier Auteur de l’article

      Bonjour,
      C’est étonnant que vous ne puissiez pas trouver xplanet :/
      Si vous êtes bien sur une Raspbian, en principe vous devriez pouvoir l’installer grâce à cette commande :

      apt-get install xplanet

      En vous souhaitant bonne continuation,

      Répondre
      1. Quentin

        Bonjour,

        J’avais déjà nginx sur mon Raspberry, je pense que ça a tout fait foirer avec Apache.

        Je suis bien sur une raspbian et j’ai bien fais cette commande ainsi que : apt-get update.

        Je reinstalle le tout sur une carte SD neuve et je reviens vers vous en cas de problème !

        Sinon merci de votre réactivité, même 2 ans après le projet, ça fait toujours plaisir. 🙂

        Répondre
      2. Quentin

        Bonjour,

        Après réinstallation, toujours pas la présence du logiciel.

        Cependant j’ai bien ImageMagick qui est affiché (Onglet Graphisme) mais impossible de trouver xPlanet.

        J’ai bien le dossier xPlaner qui a été crée dans /usr/share/xplanet

        Une idée?

        Cdt,

        Répondre
  18. larson

    Bonjour à tous,
    Je viens de découvrir votre projet que je trouve super !

    Je suis encore en pleine optimisation, mais je rencontre un problème avec le script xplanet_cloud.sh, il semble que l’adresse http://xplanet.sourceforge.net/clouds/clouds_2048.jpg ne soit plus valide ! ou plutôt devenue payante, la version free se trouve ici http://xplanetclouds.com/free/ j’ai donc modifié le script comme ceci wget -O $tmp http://xplanetclouds.com/free/local/clouds_2048.jpg

    Pour le moment vu mon nombre d’essais (>10) et vu qu’on est autorisé à 2 connexions journalière, je ne sais pas si cela fonctionnera correctement.

    Répondre
    1. Olivier Auteur de l’article

      Pas de souci, merci pour l’info 🙂
      Je vais mettre l’article et le script à jour 🙂
      Bonne continuation

      Répondre
  19. Sebastien

    Petite question Olivier, sur la lune j’ai la terre qui passe par dessus parfois. J’ai chercher s’il existé un réglage pour enlevé sa mais je n’ai pas trouvé, en connaitrais tu un ???

    Répondre
    1. Olivier Auteur de l’article

      Hello, oui c’est un problème de xplanet. En principe, mais je n’ai jamais tester, on peut empêcher le problème en changeant le point de vue. Dans la conf de ce tuto, on affiche la lune du point de vue de la terre. Il faudrait essayer de changer ce point de vue pour afficher la bonne face de la lune. Si vous y parvenez et que ça fonctionne, n’hésitez pas à partager l’astuce 🙂

      Répondre
  20. seb

    Salut à tous,
    J’ai réussi à faire fonctionner ce magnifique module mais je crois avoir fait une fausse manipulation (malheureusement je sais pas laquelle) et depuis la terre reste figée. La nuit ne se déplace plus au fils du temps…
    auriez-vous une idée d’où ça peux venir?
    Merci à vous.
    seb

    Répondre
  21. Dario

    Salut à tous!

    Je reviens pour le problème des nuages. J’ai aussi dû changer le lien avec « http://xplanetclouds.com/free/local/clouds_2048.jpg » pour pouvoir avoir une image. Cependant, j’ai changé aussi l’emplacement de destination dans « xplanet_clouds.sh » par « pat=/var/www/xplanet/img » (c’est ici que j’ai l’image).
    Lorsque j’exécute le script, j’ai une image qui se génère mais dans « /var/www/xplanet » (il ne va pas dans le dossier « img ») et il se nomme « imgclouds_2048.jpg » au lieu de « clouds_2048.jpg » comme dans le script… Enfin, en l’ouvrant, il me sort : « Error interpreting JPEG image file (Not a JPEG file: starts with 0x54 0x68) » alors qu’en cliquant sur l’URL, il s’agit bien d’un .jpg…
    Je suis débutant et la, je galère vraiment…
    Pour finir, étant utilisateur « pi » et ayant xplanet dans « /var/www/xplanet », dois-je modifier la ligne du script « chown -R pi:www-data $pat && chmod -R 775 $pat » (j’ai mis « pi » au lieu de « jarvis » mais je ne sais pas si cela suffit…).
    Pour info j’ai une Raspberry Pi 3 et je tourne sous Raspbian Jessy avec l’interface graphique.

    Un grand merci d’avance pour votre aide car j’en perds mes cheveux ahah!
    J’ai vraiment hâte de terminer ce projet car il est super!!!

    Dario.

    Répondre
    1. Stephane

      Salut à tous

      concernant le problème de Dariooo.
      Tu as oublié un / dans le chemin de l’image ainsi ta ligne :
      « pat=/var/www/xplanet/img »
      doit devenir
      « pat=/var/www/xplanet/img/ »

      Pour ton autre question, effectivement, il faut mettre pi à la place de Jarvis.

      J’espère que ça t’aidera.

      Bye

      Stéphane

      Répondre
      1. Dario

        Salut.
        Merci pour la réponse. Oui effectivement, j’avais laissé un moment ce projet de côté et quand je l’ai repris, j’ai tout de suite vu cette belle gourde ahahah.
        Le projet est à présent terminé et j’ai créé un cadre personnalisé pour le mettre au mur avec des LED et tout. C’est super beau.
        J’y ai aussi intégré un diaporama de photos.

        Concernant les nuages, avec ce site, Vous êtes maintenant limité à 2 téléchargements par jour… Donc il faudra modifier le code en conséquence.
        Voilà. Je suis très content de ce projet ça m’a vraiment plu !
        ++

        Répondre
    1. Seb

      Salut Romain,
      Je ne sais pas si ton problème est résolu.
      Au cas où, vérifie que dans ton fichier xplanet.sh tout soit bien inscrit et qu’il n’y a pas un enter qui c’est faufilé. Tu dois avoir 5 lignes!
      As-tu fait un « chmod 755 xplanet.sh sur ce fichier au cas ou et le « update-rc.d xplanet.sh defaults »?
      Seb

      Répondre
  22. Ping : RaspberryPi - Arduino / Elec | Pearltrees

  23. Le_raspinaute_pas_débrouillard

    Projet super classe !

    Certains modules sont un peu plus galère que d’autre mais sinon c’est cool 😀

    J’ai une question : peut-on agrandir la taille de la planète et de la lune (pour qu’ils prennent un peu plus d’espace sur l’écran) ? J’ai tenté de modifier les valeur des widgets dans la feuille de classe style.css mais sans succès évidemment.

    Répondre
  24. Fernand BIEGEL

    Bonjour,
    Bon, je sais, c’est pas un sujet récent. C’est moi qui suis récent dans le sujet Raspberry. Je débute, donc, un peu d’indulgence svp. J’ai trouvé ce tuto vraiment super, et les modules heure, date, météo, ping de serveur fonctionnent très bien. mais je bloque sur le module xplanet. L’éclairage de la terre ne change pas, la lune non plus. J’avais mis l’ensemble des fichiers dans /home/pi sans succès. J’ai copié le tout dans /var/www, modifié les chemins, toujours rien ! Pouvez-vous m’expliquer où exactement mettre les fichiers de xplanet et comment mettre les bons chemins pour les images à télécharger et à afficher. Ça parait simple, mais je coince complètement. En tout cas cet exercice me donne envie d’en apprendre plus, vraiment super, merci. Un mosellan près de Petit-Ebersviller !

    Répondre
  25. Doudy

    Bonjour,

    Je n’ai installé que xplanet.sh dans domoticz
    J’ai modifié ma page.html
    J’ai créé un xplanet.css
    ==> Mais je ne sais pas ou mettre le javascript.js

    Par contre à l’air de fonctionner pourtant (https://framapic.org/CQFwPyBgeiJd/2ku4zZ4a5zsf.PNG)
    Mais je ne vois pas beaucoup de modification dans l’image de la terre…

    Lorsque je lance la commande suivante via putty:
    sudo sh xplanet.sh j’ai les messages suivants :

    pi@raspberrypi2:~/domoticz/www/monitor/xplanet $ sudo sh xplanet.sh
    : not found 12: xplanet.sh:
    pi@raspberrypi2:~/domoticz/www/monitor/xplanet $ Warning: Resizing night map
    For better performance, all image maps should be the same size as the day map
    Warning: Resizing night map
    For better performance, all image maps should be the same size as the day map
    Unknown image format
    Warning: Can’t load map file /home/pi/domoticz/www/monitor/xplanet/img/clouds_2048.jpg

    Une idée ?
    Merci

    Répondre

Laisser un commentaire