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.

Raspberrypi : installation d’Apache

Apache est un serveur web libre de très grande qualité.

Votre raspberrypi peut constituer un véritable serveur web. Même si vous n’allez pas l’utiliser en tant que tel, c’est-à-dire sans écran, sans interface graphique dispendieuse en ram, uniquement en ligne de commande à travers un canal crypté ssh, nous allons ici faire comme si c’était le cas en réalisant toute l’installation en ligne de commande dans un terminal.

Remarquez qu'il serait aisé de démarrer le raspberrypi sans interface graphique.
Pour cela, il faut aller dans le menu des applications, sous "Préférences"
et sélectionner "Configuration du Raspberry Pi".
Dans la fenêtre qui s'ouvre, sous l'onglet "Système" au "Boot",
il faut sélectionner "Vers la console" et redémarrer.
Vous verrez ainsi après le redémarrage une invite de console ($),
mais aucune interface graphique n'apparaîtra plus.
Pour revenir à l'état initial, il faudra vous connecter sous l'utilisateur pi,
en tapant à l'invite "pi" et en donnant éventuellement votre mot de passe.
Puis, à l'invite taper "startx", ce qui lancera l'environnement graphique
vous permettant au "Boot" de l'onglet "Système" de revenir à "Vers le bureau"
pour pouvoir au redémarrage lancer automatiquement l'interface graphique.
Venons-en à Apache et PHP.

Non seulement nous allons installer Apache, mais aussi PHP. En effet, par la suite nous allons utiliser un CMS (système de management de contenu) nécessitant PHP.

L’installation ne peut être plus simple dans la console :

sudo apt-get install apache2 php5

Répondez O (Oui) à la demande d’autorisation d’installation. Si tout s’est bien passé, « php -v » et « apache2 -v » vous donnerons la version de chacun de ces logiciels.

Normalement apache fonctionne dès à présent. Pour le vérifier, ouvrez votre navigateur et entrez « localhost ». Si vous voyez alors la page « Apache2 Debian Default Page », c’est qu’Apache fonctionne. Une autre manière de voir si c’est bien le cas est de saisir :

sudo service apache2 status

dans la console où il vous sera répondu s’il fonctionne. Sinon tentez :

sudo service apache start

et votre serveur web devrait se mettre à fonctionner. Si ce n’est toujours pas le cas, désinstallez et réinstallez-le.

Reste le répertoire public_html.

Pour pouvoir servir des fichiers html, Apache utilise un certain nombre de répertoires qu’il considère comme dépositaire de ces fichiers. Nous allons lui permettre d’utiliser un répertoire particulier pour chaque compte disponible sur le raspberrypi. Ce répertoire porte toujours le nom particulier « public_html » et se trouve à la racine de l’utilisateur concerné.

Toujours dans la console, créons-le en se plaçant tout d’abord dans le répertoire pi :

cd /home/pi/

puis à l’aide de la commande mkdir (make directory) :

mkdir public_html

Vous pouvez vérifier sa création à l’aide de la commande ls (listing) qui devrait vous retourner son existence.

Enfin, il faut activer la disponibilité de ce répertoire :

sudo a2enmod userdir

en rendant disponible (enable) le module (mod) adéquat userdir et Apache doit être redémarré :

sudo service apache2 restart
Tests finaux

Voici venu le moment de voir si tout cela fonctionne bien.

À l’intérieur du répertoire public_html, copiez (cp) le répertoire du site sur lequel vous travaillez et qui contient un fichier index.html et les répertoires images, css et js. Dans mon cas, cela donne :

cp ~/Documents/Prof/OCinfo/2e/site_ecureuil ~/public_html/les_ecureuils/

le caractère tilde remplaçant le nom du dossier utilisateur en cours. Adaptez le premier lien à votre cas particulier.

C’est fini.

Rendez-vous dans votre navigateur et demandez la page :

localhost/~pi/les_ecureuils/

qui se trouve sur votre raspberrypi (localhost), dans le répertoire utilisateur pi (~pi) et dans le répertoire « les_ecureuils ».

Remaquez que :

  • Apache sait qu’il doit afficher le fichier index.html, car c’est un fichier recherché par défaut. Mais en précisant le fichier en fin de l’url, vous pourriez demander une autre page html. Il est néanmoins déconseillé de ne pas nommer le fichier racine autrement que par « index.html ».
  • vous pouvez accéder à votre site depuis un autre ordinateur de votre réseau privé (intranet) en remplaçant sur celui-ci localhost par l’adresse ip de votre raspberrypi obtenue par la commande :
sudo ifconfig

qui vous retournera cette adresse ip sous la forme d’une suite de nombre sous eth0 telle que : 192.168.0.49, par exemple.

Voilà. Pour toute question ou remarque, n’hésitez pas à utiliser les commentaires liés à ce petit tuto.

Raspberrypi : configuration du bureau avec obconf

Objectif : ajouter Openbox Configuration Manager, une interface graphique pour configurer votre bureau. Notamment, vous pouvez par son intermédiaire augmenter le nombre de bureaux, ce qui est très pratique.

Préalable : installation

À l’aide de synaptic

Pour commencer, il faut s’assurer que « obconf » a été installé. Lancez Synaptic et recherchez « obconf ». Si il est installé, il n’y a rien à faire de ce côté. Si il ne l’est pas, installez-le. Chaque fois que vous installez un logiciel, rafraîchissez la liste des paquets avec le bouton « Recharger » en haut à gauche. Puis sélectionnez le paquet, cliquez sur « Tout mettre à niveau » pour demander les mises-à-jour et finalement cliquez sur « Appliquer » et validez.

En ligne de commande

Une autre manière de réaliser cette opération est de passer par la console. Lancez donc LXTerminal en cliquant sur le bouton de console en haut à gauche. Puis lancez le rafraîchissement de la liste des paquets par :

sudo apt-get update

« sudo » vous permet d’effectuer des opération comme administrateur. Votre mot de passe peut vous être demandé si vous en avez spécifié un. « apt-get » est la commande permettant de gérer les logiciels de la distribution. « update » va réaliser la mise à jour.

Ensuite profitez-en pour mettre à jour votre système par :

sudo apt-get upgrade

Une fois cela fait tentez d’installer « obconf » par :

sudo apt-get install obconf

Soit il s’installera, soit il vous sera répondu qu’obconf est déjà la version la plus récente

Dans le menu

Une fois la mise à jour réalisée, le logiciel est fonctionnel. Vous pouvez le lancer en ligne de commande dans le terminal par :

obconf

Relevez qu’il est alors attaché au terminal, c’est-à-dire que si vous fermez le terminal, il se fermera aussi. C’est normal.

Pour pouvoir en disposer dans le menu, il faut ajouter le fichier joint au wiki « obconf.desktop » dans le répertoire :

/home/pi/.local/share/applications

ou dans :

/usr/share/applications

pour une configuration multi-utilisateur et relancer les menus en ligne de commande par :

lxpanelctl restart

Raspberrypi : écran pitft et problème de démarrage X

Pitft d’Adafruit est un magnifique petit écran touchscreen.

Son installation est très bien détaillée dans la documentation.

Mais un problème post installation peut survenir. Sa description est simple : vous choisissez dans le menu de configuration de raspberrypi de démarrer sous pi et en mode graphique, raspberry démarre et vous donne accès à un écran de connexion au lieu de se connecter directement. De plus, en entrant l’utilisateur pi et le bon mot de passe, il revient sans cesse sur l’écran de connexion.

La solution qui a fonctionné pour moi est de supprimer les fichiers cachés de l’utilisateurs pi : .Xauth… Il y en a plusieurs et leur suppression se fait par :

rm .Xauth*

Ainsi, ils seront tous supprimés et recrées correctement par le serveur graphique et normalement au redémarrage la connexion automatique sous pi devrait se faire.

Libre@Toi, une vraie radio

Avec Libre@Toi, vous trouverez une formidable radio, conséquente puis qu’elle a pour thème les logiciels libres, mais lie leur problématique à celles des agricultures respectueuses, des revendications syndicales, des énergies renouvelables, …

C’est un vrai bonheur de voir à travers les sujets portés par cette radio tout ce que chacun individuellement ou en groupe tente de réaliser face à un monde économique et politique qui visiblement à peu de respects pour tout ce qui ne vient pas de lui.

À écouter impérativement en direct sur le site ou comme webradio via le flux :

http://vdl.stream-lat.org:8000/voixdulat_ogg