Très bonne conf de Hadi Hariri (Jetbeains) sur l’ amélioration du code avec JAVA8 . Si on opte pour du refactoring fonctionnel, le code est grandement amélioré et plus facile à tester
Très bonne conf de Hadi Hariri (Jetbeains) sur l’ amélioration du code avec JAVA8 . Si on opte pour du refactoring fonctionnel, le code est grandement amélioré et plus facile à tester
Je me suis acheté un Raspberry Pi 2 sur LDLC, le site de vente en ligne qui m'a octroyé une ristourne à l'occasion de mon anniversaire. Le délai entre la commande et la réception fut très long, rupture de stock oblige, mais en résumé je suis hyper-content.
Inutile de revenir une énième fois sur les spécificités matérielles et logicielles de la machine : d'autres s'en sont occupé·e·s avant moi et certainement bien mieux. Oui, ce modèle est tellement plus mieux que ses prédécesseurs. Évidemment, il faut être à l'aise avec la ligne de commande pour utiliser ce type de matériel.
Réception du paquet et montage
Comme je l'ai annoncé en préambule : le délai de livraison fut allongé à cause d'une rupture de stock de Raspberry Pi 2 chez LDLC. Qu'à cela ne tienne, je n'étais pas pressé.
Le paquet du Raspberry Pi est minimal : une boîte en carton contenant une notice en 16 langues que je ne lirai certainement jamais, et un Raspberry Pi 2 sous film plastique de protection. C'est tout. Celui du Pibow l'est également : emballage en carton recyclé, pas de surabondance de matière première, à l'instar de l'emballage pour les précédentes versions du Raspberry Pi.
Note : toutes les « couches » du Pibow sont recouvertes d'un côté par un film blanc translucide qu'il faut enlever si vous ne voulez pas que votre Raspberry Pi ressemble à ça (la poussière en plus).
Du reste, il ne prend que très peu de place, il y en a même encore un peu sous le meuble où à brol / routeur / imprimante pour que je le branche à un disque dur portable qui servira à l'hébergement de données (torrents, sauvegardes, serveur multimédia DLNA/UPnP…). Je suis preneur de conseils concernant un disque dur portable abordable pouvant être allumés longtemps, très longtemps (pas de surchauffe ni de tendance à casser si trop souvent utilisé), avec une bonne alimentation (je n'ai pas envie qu'il brûle au moindre petit problème électrique).
Installation d'Arch Linux ARM
La distribution semble-t-il la plus utilisée est Raspbian, une distribution basée sur Debian qui incorpore l'utilitaire de configuration simplifiée raspi-config. J'ai préféré installer Arch Linux ARM, suite a un problème de compatibilité de CUPS entre la version installée sur les ordinateurs (Debian Jessie, Arch Linux) et celle incluse dans Raspbian (Debian Wheezy).
Pour l'installation, il suffit de suivre le guide, que je traduis ci-dessous.
Vue d'ensemble
Le Raspberry Pi 2 est le successeur du Raspberry Pi. Il s'appuie sur le modèle original B +, mis à niveau vers 1Go de RAM, et en remplaçant le single-core vieillissant ARMv6l avec un quad-core Cortex-A7 ARMv7l.
Le Raspberry Pi 2 mesure 85.60mm × 53.98mm × 17mm (…).
Création de la carte SD contenant le système d'exploitation
Remplacer sdX dans les instructions suivantes par le nom de périphérique pour la carte SD tel qu'il apparaît sur votre ordinateur. Si vous ne parvenez pas à effectuer ces manipulations à cause de restrictions de droits sur les périphériques ou les partitions, exécutez-les avec votre compte root.
Lancer fdisk pour partitionner la carte SD :
fdisk /dev/sdX
À l'invite de fdisk, supprimer les anciennes partitions et en créer une nouvelle :
Taper o. Cela effacera toutes les partitions sur le disque.
Taper p pour lister les partitions. Il devrait ne rester aucune partition.
Taper n, puis p pour créer une partition primaire, 1 pour la première partition sur le disque, puis appuyer sur Entrée pour accepter le premier secteur par défaut, puis entrer +100M pour le dernier secteur (c'est-à-dire que la première partition fait 100M à partir du premier secteur).
Taper t, puis c pour régler le type de la première partition sur W95 FAT32 (LBA).
Taper n, puis p pour créer une partition primaire, 2 pour la deuxième partition sur le disque, puis appuyer deux fois sur Entrée pour accepter les premiers et derniers secteurs par défaut (prendre tout l'espace restant sur le disque).
Écrire la table de partition et sortir de fdisk en tapant w.
Créer et monter le système de fichiers FAT :
mkfs.vfat /dev/sdX1
mkdir boot
mount /dev/sdX1 boot
Créer et monter le système de fichiers ext4 :
mkfs.ext4 /dev/sdX2
mkdir root
mount /dev/sdX2 root
Télécharger et extraire le système de fichiers racine (avec le compte root et non pas via la commande sudo) :
Déplacer le fichiers de démarrage vers la première partition :
mv root/boot/* boot
Démonter les deux partitions :
umount boot root
Supprimer les dossiers créés sur l'ordinateur :
rmdir boot root
Insérer la carte SD dans le Raspberry Pi, connecter le câble Ethernet, puis brancher l'alimentation de 5V.
Utiliser la console série (nécessite de brancher un clavier USB et un écran au Raspberry Pi et de configurer la disposition du clavier avec loadkeys, cf. la configuration du clavier dans la console virtuelle) ou se connecter par SSH à l'adresse IP donnée par votre routeur. Le mot de passe par défaut est root.
Configuration de base
Avant de faire quoi que ce soit, des manipulations de base doivent être effectuée : première mise à jour, configuration du mot de passe du compte root, installation des composants de base, création d'un utilisateur et sécurisation de la connexion SSH,
Pour se connecter à votre Raspberry Pi par SSH (solution que je préfère), il faut en trouver l'adresse IP. Le plus simple à mon avis reste de la chercher dans l'interface d'administration de votre routeur.
J'en ai profité pour cocher l'option Always use the same address (toujours utiliser la même adresse IP) afin de ne pas devoir chercher à quelle adresse réside mon Raspberry Pi.
Une fois l'adresse IP du Raspberry Pi récupérée, ouvrir un terminal sur votre ordinateur et vous connecter par SSH au compte root. Entrer le mot de passe : root.
ssh root@192.168.1.66
Changer le mot de passe du compte root :
passwd root
Entrer le mot de passe choisi (ne pas confondre complexité et difficulté) et valider :
Utiliser pacman, le gestionnaire de paquets d'Arch Linux, pour une première mise à jour des programmes installés (dont le noyau et les pilotes, le plus utile) :
pacman -Syu
Installer quelques outils de base d'Arch Linux avec l'argument --needed pour ne pas réinstaller les paquets déjà à jour :
pacman -Sy base base-devel archlinux-keyring archlinuxarm-keyring --needed
Différentes locales sont activables dans le fichier /etc/locale.gen et générées par la commande locale-gen. La locale utilisée par le système est configurable dans le fichier /etc/locale.conf.
nano /etc/locale.gen
Décommenter :
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
Générer les locales :
locale-gen
Rendre les changements effectifs :
export LANG=fr_FR.UTF-8
Les consoles virtuelles (TTY) sont configurables dans le fichier /etc/vconsole.conf, qui permet entre autres de choisir une police d'écriture ainsi qu'une configuration de clavier.
La date et l'heure sont configurables en créant le lien symbolique /etc/localtime vers le fichier correspondant à la zone géographique souhaitée, disponible dans le dossier /usr/share/zoneinfo/. La commande timedatectl permet de le faire, ainsi que d'activer la synchronisation avec un serveur de temps pour garder la machine à l'heure :
fake-hwclock a été spécialement conçu pour les systèmes sans horloge matérielle. Il comprend un service systemd enregistre l'heure actuelle et restaure celle-ci au démarrage, évitant ainsi d'étranges erreurs de voyage dans le temps.
Le gestionnaire de paquet, pacman, peut être configuré dans le fichier /etc/pacman.conf. Pour les yeux seulement, j'active la coloration du logiciel (Color) et une barre de progression sous forme de Pacman (ILoveCandy).
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
ILoveCandy
Maintenant, il vous faut créer votre utilisateur avec lequel vous vous connecterez. Vous pouvez affecter l'utilisateur à certains groupes, en fonction des tâches qui seront effectuées. Je vous conseille de lire la page utilisateurs et groupes du wiki francophone.
Identifiez vous en root, avec le mot de passe défini à l'installation. Tapez ensuite :
useradd -g users -m -s /bin/bash
passwd
Pour finir, configurer et protéger la connexion par SSH. Je vous conseille de lire la page Ssh du wiki francophone. La configuration se fait dans le fichier /etc/ssh/sshd_config :
PermitRootLogin no interdit la connexion avec le compte root, pour ne plus pouvoir s'identifier qu'avec un compte aux droits limités comme celui créé à l'étape précédente.
PasswordAuthentication no désactive la connexion par mot de passe pour ne permettre de se connecter qu'avec un jeu de clés publique et privée, voir la section Clé publique/privée du wiki francophone pour configurer cela.
PermitEmptyPasswords no désactive les mots de passe vides.
AllowUsers restreint l'accès aux utilisateurs indiqués.
Redémarrer le service SSH pour appliquer les changements :
systemctl restart sshd
Pour vérifier que tout fonctionne, il suffit d'essayer d'ouvrir une nouvelle fenêtre de connexion.
Redémarrer :
reboot
Serveur d'impression partagé
La première utilisation que j'ai réservée à mon Raspberry Pi 2 est qu'il fasse office serveur d'impression CUPS pour partager une vieille imprimante HP connecté en USB sur mon réseau.
Pour ce faire, le serveur d'impression CUPS doit être installé, ainsi que le programme hplip permettant de communiquer avec les imprimantes HP, et le service Avahi.
Avahi est une mise en œuvre des protocoles Zeroconf permettant ainsi « à des logiciels de publier et de découvrir des services et des hôtes en cours d'exécution sur un réseau local TCP/IP sans configuration particulière. Par exemple, un utilisateur peut brancher son ordinateur sur un réseau et trouver instantanément des imprimantes pour imprimer, des fichiers à lire et des personnes à qui parler. »
Installer les dépendances :
pacman -S nss-mdns avahi cups sane hplip --needed
Pour accéder aux ordinateurs du réseau local en utilisant leur nom de domaine (ex : myhostname.local) plutôt que leur adresse IP, il faut activer le support des requêtes avec .local, ce qui n'est pas le cas par défaut sous Arch Linux. Pour l'activer, il fauch changer la ligne des hôtes dans /etc/nssswitch.conf :
hosts: files mdns_minimal [NOTFOUND=return] dns myhostname
Pour activer le support du scan des imprimantes multifonction de HP, il faut éditer le fichier de configuration de Sane /etc/sane.d/dll.conf et y ajouter les lignes suivantes :
Il faut ensuite ajouter l'imprimante HP à la liste des imprimantes connues avec la commande hp-setup :
hp-setup -i
La commande qui suit sert à activer le partage des imprimantes sur le réseau local et restreindre au réseau local, activer l'administration à distance, permettre à n'importe qui sur le réseau local de supprimer une impression :
Pour finir, redémarrer le service pour être sûr·e que les changements sont bien pris en compte :
systemctl restart org.cups.cupsd
Pour accéder à l'interface web de CUPS, il suffit d'ouvrir l'adresse http://myhostname.local:631, et y administrer les imprimantes (format de papier par défaut, imprimante par défaut du serveur…).
Partage de fichiers multimédia
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Streaming media du wiki anglophone.
Serveur de sauvegarde
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Backup programs du wiki anglophone.
Serveur BitTorrent
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2. J'ai dans l'idée d'utiliser Transmission, à administrer via l'interface web, l'extension pour GNOME Shell Transmission Daemon Indicator ou via l'application Transdroid.
Mozilla a lancé hier une pétition aux USA pour demander au Congrès de mettre fin à la surveillance de masse. La coïncidence avec le projet de loi sur le renseignement discuté ici, en France, cette semaine, est fortuite mais révélatrice d’une tendance mondiale de la sphère politique et policière à vouloir prendre le contrôle de l’Internet, dont la construction lui a totalement échappé. Verrons-nous à terme une convergence mondiale des initiatives visant à dénoncer la mise sous contrôle de l’Internet ?
L'équipe du FCM en français est heureuse de vous présenter le numéro 94, celui de février 2015, juste à temps pour les vacances de printemps ! Vous le retrouverez (au téléchargement ou à la lecture) sur notre page NUMÉROS ou en cliquant directement sur l'image de la couverture, ci-dessous.
Comme d'habitude, tous les articles et rubriques sont très intéressants ! Ce mois-ci, vous y trouverez notamment :
Comment sécuriser (autant que possible) votre connexion Internet avec i2P ;
Comment bloquer les appels téléphoniques non voulus (marketing et autre) en vous servant de deux modems ;
La critique d'un livre, Practical Data Science Cookbook, présentant des projets en code R et en Python, écrit par quatre as de la science ;
Un long article sur comment installer et utiliser BTRFS et pourquoi ça vaut le coup de le faire ;
Une brève histoire du chiffrement, raconté dans la rubrique Sécurité ; et
Dans Jeux Ubuntu, une critique alléchante du jeu « War Thunder »...
Bonne lecture et à bientôt !
Tout l'équipe du FCMfr, dont, pour ce numéro, Bab, scribeur et relecteur, les traducteurs d52fr, frangi, FredPhil91 et moi, et les relecteurs (autre que Bab !) d52fr et moi-même, AuntieE