Raspberrypi : désactivation de la mise en veille de l’écran

Je reprends ici l’excellent post suivant :

http://framboisepi.fr/desactiver-la-veille-decran/

et le réécris pour mémoire.

Normalement le paquet

x11-xserver-utils

devrait être installé sur votre raspberry (stretch). Pour savoir si c’est le cas :

apt search x11-xserver-utils

Si ce n’est pas le cas, installez-le. Si c’est le cas, il faut ensuite modifier le fichier :

/etc/xdg/lxsession/LXDE/autostart

en retirant la ligne :

@xscreensaver -no-splash

et en ajoutant :

@xset s off
@xset -dpms
@xset s noblank

Finalement, il faut redémarrer le raspberry.

Pour terminer, voici la référence à une discussion technique très intéressante sur la désactivation de la mise-en-veille par écran noir qui peut dans certains cas se produire malgré la réalisation des opérations ci-dessus :

https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18200

Raspbian : mise-à-jour jessie vers stretch

La mise-à-jour de rasbian sans réinstallation de tout le système est possible de jessie vers stretch.

Avant toute chose :

  1. faites une mise-à-jour de jessie soit en ligne de commande avec :
    apt-get update suivi de apt-get upgrade

    soit à partir de synaptic avec « Recharger », « Tout mettre à niveau » et « Appliquer ».

  2. faite une copie de votre carte SD avec SD Card Copier du menu Accessoires.

Puis, il est nécessaire de remplacer toutes les occurences de jessie par stretch dans les deux fichiers /etc/apt/sources.list et /etc/apt/sources.list.d/raspi.list. Pour cela, vous pouvez soit utiliser un éditeur de texte comme vi, soit le faire directement via synaptic via les « Dépôts » du menu « Configuration » où en changeant toutes les occurences de jessie en stretch vous agirez sur les deux fichiers « sources.list » et « raspi.list » simultanément.

Réalisez ensuite le rafraîchissement de la liste des paquets vers stretch par :

apt-get update

et effectuez la mise-à-jour avec :

apt-get -y dist-upgrade

(sous Debian, un simple upgrade après update réaliserait une mise-à-jour partielle moins risquée si on a peu de mémoire ou des paquets problèmatiques. Cela permet de gérer manuellement les problèmes avant une mise-à-jour complète avec dist-upgrade ; qu’en est-il sous raspbian, je n ‘ai pas testé !)

Référence : https://www.framboise314.fr/raspbian-stretch-pour-le-raspberry-pi-est-disponible/

Remarque : chez moi, la connexion distante en rdp ne fonctionne plus après mis-à-jour. Ce jour je n’ai pas trouvé de solution. Le reste est parfaitement fonctionnel.

Projet domotique : arrosage automatique 1

Introduction

Sans voiture depuis maintenant bientôt huit ans, très sensible à l’environnement, mais issu d’une culture scientifique, ingénieur physicien, j’ai tardivement pris conscience de la nécessité d’une indépendance alimentaire.

Mais j’ai décidé de reprendre les choses en main. Malgré mon intérêt immédiat pour la permaculture peu expansive en eau, s’est rapidement imposé à moi la nécessite d’une bonne gestion de l’eau. Notamment pendant mes absences.

Or une bonne gestion de l’eau n’est pas chose évidente pour plusieurs raisons.

  • Elle doit être automatique. Arroser est une opération à base fréquence mais sur un très long terme. Dans ces conditions, le recours aux machines est  judicieux.
  • La consommation énergétique doit être aussi faible que possible étant donné une volonté de diminution et une utilisation avec des panneaux solaires.
  • La consommation d’eau aussi doit être la plus faible possible. Outre une nécessaire permaculture, cela implique de ne pas utiliser de gicleurs.
  • Plusieurs séquences d’arrosage doivent être possible et leur programmation doit pouvoir se faire à distance.
  • Le coût ne doit pas être prohibitif. Notamment le coût en terme de déplacements, puisque il doit se faire exclusivement à vélo.
  • L’ensemble des logiciels utilisées doit être libre, étant donné mon adhésion au mouvement des logiciels libres.

    Par ailleurs, il faut mentionner que les surfaces en jeu sont petites étant donné une production strictement locale, mais en milieu urbain. Locale mais pas exclusivement personnelle puisqu’une partie est dévolue aux incroyables comestibles.

    Cette introduction montre clairement la complexité de la situation et, expérience faite, la sous-évalue même.

    Mais, c’en est justement l’intérêt, puisque des connaissances très multi-disciplinaires sont nécessaires. Les obtenir fut un enjeu et un réel plaisir que je vais tenter de vous faire ressentir dans la suite de cette série d’articles.

    Raspberrypi : correcteur orthographique dans texmaker

    Pour texmaker, le correcteur orthographique est installé par le paquet « hunspell-fr-… ». Différents paquets sont proposés (classical, compréhensive, modern et revised). Une description des différences est disponibles en cliquant dans synaptic sur le paquet (à ne pas installer, car il constitue une dépendance) « hunspell-fr ». Je propose d’installer « hunspell-fr-modern ». Vous pouvez aussi l’installer en ligne de commande par :

    sudo apt-get install hunspell-fr-modern

    Il est possible qu’il vous soit demandé de désinstaller myspell-fr. Autorisez-le, puisque myspell est aujourd’hui déprécié (voir http://www.dicollecte.org/faq.php?prj=fr): Puis, il faut se rendre dans le menu « Options » de Texmaker pour « Configurer Texmaker ». Dans l’onglet « Éditeur » sous « Dictionnaire » saisissez :

    /usr/share/hunspell/fr_CH.dic

    et validez par OK. Peut-être faudra-t-il relancer Texmaker. Une fois cela fait, votre dictionnaire devrait être actif.

    Raspberrypi : copier la carte SD

    Une fonction très intéressante maintenant intégrée par défaut dans la nouvelle version du bureau du raspberrypi 3 PIXEL est la possibilité de réaliser en quelques clicks la réplique intégrale de la carte SD du système et cela à chaud, c’est à dire pendant qu’il fonctionne.

    Il faut pour cela une autre carte SD. Elle ne doit pas forcément être de la même taille que celle sur laquelle fonctionne votre raspberrypi. Elle peut être supérieure, mais aussi inférieure, pour autant qu’elle puisse contenir les données contenues sur la carte que vous voulez copier. Pour l’évaluer, vous pouvez utiliser le logiciel Gparted.

    Pour que la copie soit réalisée sans problèmes, il faut que la carte soit pré-formatée en fat32. Si ce n’est pas le cas, vous pouvez encore utiliser Gpated pour le faire.

    Une fois cela fait, il faut insérer la carte SD dans un adaptateur USB et la brancher. Il n’est pas nécessaire que celle-ci soit montée. Si c’est le cas, elle sera démontée avant la copie.

    Le logiciel à utiliser se trouve dans le menu des applications, sous « Accessoires » et se nomme « SD Card Copier ».

    ATTENTION : la carte SD sur laquelle vous allez effectuer la copie sera entièrement effacée, même si sa taille est supérieure à celle que vous allez copier !

    Lancez « SD Card Copier », sélectionnez sous Copy From Device : Internal SD card, si ce n’est pas déjà fait. Puis, sous Copy To Device, sélectionnez la carte SD sur laquelle vous désirez faire votre copie et démarrez la copie en cliquant sur Start. Confirmez si on vous averti de l’effacement de la carte sur laquelle la copie va se faire.

    C’est tout. Patientez. Pour 30Go, il faut environ 20 minutes. Le processus se termine par une alerte mentionnant sa fin. Vous aurez alors un système absolument identique à celui que vous avez copié pour soit en faire une copie de sauvegarde, soit l’utiliser sur un autre raspberrypi.

    Remarques :

    • Avec certaines cartes préformatés en Extfat la copie a échouée. Si c’est le cas, reformatez bien la carte en Fat32 et refaites la copie.
    • Un test échoué a été réalisé sur une clé USB non reformatée en Fat32, copiée, puis retransférée sur une carte SD avec « SD Card Copier ». Le système n’a pas démarré. Mais d’autres tests sont nécessaires.

    Raspberrypi : installation de GetSimple

    Il s’agit d’un CMS (système de management de contenu) simple, comme son nom l’indique, sobre et élégant. Il a la particularité d’être sans base de donnée ou plutôt d’utiliser comme base de donnée uniquement des fichiers. L’avantage est que le CMS est intégralement contenu dans le dossier dans lequel il se trouve. Le désavantage est qu’il est un peu plus lent en forte charge, ce qui ne sera pas le cas pour nous.

    Préalables

    Comme pratiquement tous les CMS, c’est php qui est le moteur du dynamisme des pages. Il est donc nécessaire de l’installer et de le configurer. Apache est évidemment aussi nécessaire. Nous ne reviendrons pas sur leurs installations qui ont été détaillées dans l’article [[Installation d’Apache]]. Leurs configurations sont par contre à prendre en compte.

    • Pour Apache, il faut activer le module rewrite de réécriture simplifiée des url par :
      sudo a2enmod rewrite

      et relancer Apache :

      sudo service apache2 restart
    • Pour PHP, deux modules sont à activer : cURL et GDLibrary. Pour les deux, il faut installer un paquet système et finalement redémarrer Apache :
      sudo apt-get install php5-curl && sudo apt-get install php5-gd && sudo service apache2 restart

    Par ailleurs, par défaut php est désactivé pour le répertoire public_html des utilisateurs. Il faut donc l’activer dans le fichier de configuration du module php d’Apache : /etc/apache2/mods-available/php5.conf comme cela est indiqué à la fin :

    # Running PHP scripts in user directories is disabled by default
    #
    # To re-enable PHP in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_flag engine Off
    #    </Directory>
    #</IfModule>

    c’est-à-dire commenter avec un # chacune des lignes du IfModule, comme cela est fait ci-dessus.

    Installation de GetSimple

    Commencez par récupérer GetSimple à l’adresse : http://get-simple.info/download.
    Puis, dézipez-la, renommez-la « ecureuil » ou autre nom de votre choix (SANS espaces, accents ou caractères spéciaux) et déplacez-la dans le répertoire public_html de votre compte (pi).
    Presque tout est alors prêt pour l’installation. Presque, direz-vous. Que faut-il faire encore ? Eh oui, une installation telle que celle-ci est un travail minutieux qui nécessite de la patience. C’est un véritable travail, car très souvent vous ne pourrez suivre un tel tutoriel, car il n’existera pas. Il faudra alors pratiquer intensivement par RTFM.

    L’installation va commencer par l’appel de l’url d’administration de GetSimple dans un navigateur :

    localhost/~pi/ecureuil/admin/

    Normalement, la page qui devrait s’afficher est la suivante :

    Installation 1

     

    Le presque évoqué précédemment y est clairement visible. Le message d’alerte peut paraître cryptique, mais il est cependant très clair. Il y est évoqué l’impossibilité d’écrire le fichier de configuration et la commande CHMOD y est évoquée. CHMOD est la commande permettant de changer les droits sur un fichier ou pour l’ensemble d’un répertoire (-R). Les droits sont fixés par le chiffre associé, ici 755 ou 777.

    Pour comprendre ces chiffres, il faut savoir que chacun correspond dans l’ordre au propriétaire du fichier (user : u), au groupe du fichier (group : g) et au reste du monde (other : o). De plus, les droit sont au nombre de trois : lecture (read : r), écriture (write : w) et exécution (execute : x). Un fichier rwx dispose donc par exemple de tous les droits. À chaque droit est associé un monbre : 1 pour l’exécution, 2 pour l’écriture et 4 pour la lecture. La somme de ces trois nombres donne explicitement les droits accordés. Par exemple : 5 correspond à r-x, soit peut être lu et exécuté, mais pas modifié ou écris. Ainsi un fichier ayant les droits 755 est un fichier qui peut être lu modifié et exécuté par son propriétaire, mais seulement lu et exécuté par les membres de son groupe et par le reste du monde. On comprend bien que donner les droits 777 à l’ensemble d’un site web n’est pas une bonne chose.

    Si nous voulions malgré tout le faire, pour changer ces droits, commençons par nous rendre dans le répertoire de GetSimple :

    cd ~/public_html/ecureuil/

    Puis appliquons le changement sur les deux répertoires :

    chmod -R 777 data/ && chmod -R 777 backups/

    Mais une autre méthode est bien plus recommandée. Elle consiste à partager les droits sur les fichiers avec le serveur web, c’est-à-dire à mettre l’ensemble des fichiers dans son groupe www-data. Pour cela dans le répertoire public_html, changeons récursivement (-R) le groupe des fichiers :

    cd ~/public_html/ && sudo chown -R pi:www-data ecureuil/

    Le sudo est là au cas où tous les fichiers n’appartiendraient pas à pi et la commande chown (change owner) permet le changement du propriétaire et de son groupe (séparés par :). Puis, il faut changer le droits en correspondance :

    chmod -R 770 ecureuil/

    ou pour transmettre le groupe préalablement changé au niveau du répertoire ecureuil :

    chmod -R 2770 ecureuil/

    L’alerte devrait alors disparaître, sans que l’installation se poursuive, car il reste à charger le fichier de langues en suivant le lien Download Languages dans un nouvel onglet, en suivant Download the latest language files et en téléchargeant le fichier de langue française pour la bonne version de GetSimple. Placez alors ce fichier dézipé dans le répertoire /admin/lang du dossier d’installation de GetSimple et rafraîchissez la page de votre navigateur. Vous pourrez ainsi sélectionner fr_FR comme langage d’administration.

    Cliquez alors sur Continuer l’installation, remplissez correctement les trois informations demandées : nom du site, nom d’utilisateur et adresse email et INSTALLEZ.

    Installation 2

    Horreur, cela n’en finira donc jamais, d’autres erreurs apparaissent. Peut-être est-ce pour tester votre capacité à rester calme. C’est l’une des plus grande qualité d’un informaticien. Lisez alors bien le texte. L’impossibilité d’envoyer un email tient à l’absence d’un logiciel permettant de le faire. Passons donc cette remarque. Deux choses restent alors à faire : renommer le fichier à la racine du site temp.gsconfig.php en gsconfig.php et faire une copie de temp.htaccess en .htaccess (attention le . est très important ; il va cacher votre fichier que vous ne retrouverez dans votre gestionnaire de fichiers qu’en « Affichant les fichiers cachés » du menu « Voir ») tout en y modifiant la ligne :

        RewriteBase **REPLACE**

    par :

        RewriteBase /~pi/ecureuil/

    De plus deux options du fichier .htaccess sont à retirer en les commentant par un # en début de ligne ainsi :

    # prevent directory listings
    #Options -Indexes
    # Follow symbolink links, This is required for rewrites on some hosts
    #Options +FollowSymLinks

    ou en procédant au niveau du serveur Apache sans commenter les options ci-dessus, mais, dans le fichier de configuration du module userdir (/etc/apache2/mods-available/userdir.conf) en modifiant les lignes :

    #AllowOverride FileInfo AuthConfig Limit Indexes
    AllowOverride All

    c’est-à-dire en commentant la première et ajoutant la seconde. Attention, cela permettra au fichier htaccess de prendre le dessus sur toutes les règles de configuration d’Apache.

    Enfin, cliquez sur « Connectez-vous ici ».

    Ah, évidemment, encore des choses à faire … 🙂 Je suis heureux que vous preniez cela avec le sourire.

    Installation 3

    Supprimez donc maintenant ces fichiers qui permettraient de refaire l’installation alors que votre site est déjà installé et rafraîchissez votre page.
    Enfin changez votre mot de passe provisoire.

    C’est fini. Déconnectez-vous et en bas de l’écran de connexion, cliquez sur « Back to website ». Vous pourrez toujours vous reconnecter à l’interface d’administration à l’adresse :

    localhost/~pi/ecureuil/admin

    Enjoy !

    Accueil GetSimple

    Note :
    Encore me direz-vous … Oui, oui et cela soulève un problème intéressant. En mode connecté dans l’administration, sous « Configuration », vous trouvez un champ « URL du site » actuellement rempli par : http://localhost/~pi/ecureuil/. Or, si vous vous connectez à votre site depuis un autre ordinateur en utilisant l’adresse ip de votre serveur web comme par exemple : http://192.168.0.67/~pi/ecureuil/ vous verrez bien votre site, mais sans les règles de formatage css, qui ne sont plus à l’adresse localhost. Pour permettre à votre navigateur de récupérer l’ensemble des fichiers de votre site, changez le champ « URL du site » par :

    http://192.168.0.67/~pi/ecureuil/

    et tout rentrera dans l’ordre en rafraîchissant la page de votre navigateur.

    Mais, me direz-vous, si l’adresse ip change ? Eh bien, ce qui serait intéressant, c’est d’avoir soit une adresse ip fixe, soit un nom de domaine redirigeant sur une adresse ip dynamique. Tout cela existe, mais sort du cadre de cet article sur GetSImple.