Outils pour utilisateurs

Outils du site


wikilonia_oavl2020

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
manumerique [2020/07/24 17:21] – [2 - Installation et configuration du système d'exploitation] manumeriquewikilonia_oavl2020 [2020/10/07 14:49] (Version actuelle) serge
Ligne 1: Ligne 1:
 +====== Wikilonia ou comment avoir Wikipédia dans sa poche ======
 +
 +===== 0 - But =====
 +
 Le but de ce projet "Wikilonia" est de disposer de Wikipédia dans sa poche, sans internet, sur un Raspberry Pi alimenté par batterie ou panneau solaire, avec écran tactile et wifi pour partager Wikipédia en wifi avec d'autres appareils aux alentours. Le but de ce projet "Wikilonia" est de disposer de Wikipédia dans sa poche, sans internet, sur un Raspberry Pi alimenté par batterie ou panneau solaire, avec écran tactile et wifi pour partager Wikipédia en wifi avec d'autres appareils aux alentours.
  
 Ainsi, quoi qu'il advienne, il vous restera toujours une grande part des connaissances de l'humanité, et de quoi lire jusqu'à votre retour contraint à la terre ! Ainsi, quoi qu'il advienne, il vous restera toujours une grande part des connaissances de l'humanité, et de quoi lire jusqu'à votre retour contraint à la terre !
  
-====== 1 - Matériel ======+===== 1 - Matériel =====
  
  
 Pour ce faire, nous aurons besoin : Pour ce faire, nous aurons besoin :
 +  * D'un ordinateur sous Linux
   * D'un Raspberry Pi (ici on a utilisé un [[https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/|Raspberry Pi 3B+]])   * D'un Raspberry Pi (ici on a utilisé un [[https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/|Raspberry Pi 3B+]])
   * D'un écran tactile petit adaptable au Raspberry Pi (ici on a utilisé un [[https://www.seeedstudio.com/Pimoroni-HyperPixel-3-5-Hi-Res-Display-for-Raspberry-PI-p-3001.html|Pimoroni Hyperpixel TFT 3.5"]] mais on pourrait utiliser le [[https://thepihut.com/products/hyperpixel?_pos=1&_sid=adf9ee414&_ss=r|Pimoroni Hyperpixel 4"]])   * D'un écran tactile petit adaptable au Raspberry Pi (ici on a utilisé un [[https://www.seeedstudio.com/Pimoroni-HyperPixel-3-5-Hi-Res-Display-for-Raspberry-PI-p-3001.html|Pimoroni Hyperpixel TFT 3.5"]] mais on pourrait utiliser le [[https://thepihut.com/products/hyperpixel?_pos=1&_sid=adf9ee414&_ss=r|Pimoroni Hyperpixel 4"]])
Ligne 14: Ligne 19:
  
  
-====== 2 - Installation et configuration du système d'exploitation ======+===== 2 - Installer et configurer le système d'exploitation =====
  
   * Télécharger [[https://downloads.raspberrypi.org/raspios_armhf_latest|Raspberry Pi OS]] (Anciennement Raspbian). Ici on a choisi la version Desktop de base, car nous voulons avoir une interface de bureau pour l'écran   * Télécharger [[https://downloads.raspberrypi.org/raspios_armhf_latest|Raspberry Pi OS]] (Anciennement Raspbian). Ici on a choisi la version Desktop de base, car nous voulons avoir une interface de bureau pour l'écran
   * Écrire l'image téléchargée sur la carte microSD (via l'utilitaire GNOME Disques, Etcher, ou une autre méthode)   * Écrire l'image téléchargée sur la carte microSD (via l'utilitaire GNOME Disques, Etcher, ou une autre méthode)
   * Sur la carte mémoire, créer un fichier /boot/ssh vide pour activer le SSH sur le Raspberry (désactivé par défaut)   * Sur la carte mémoire, créer un fichier /boot/ssh vide pour activer le SSH sur le Raspberry (désactivé par défaut)
-  * Pour que le Raspberry se connecte à votre réseau : +  * Connecter le Raspberry à votre réseau : 
-  * Soit le connecter en filaire +    * Soit en filaire 
-  * Soit le connecter en wifi : sur la carte mémoire, créer un fichier /boot/wpa_supplicant.conf qui contiendra :+    * Soit en wifi : sur la carte mémoire, créer un fichier /boot/wpa_supplicant.conf qui contiendra :
  
 +<code>
 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1 update_config=1
Ligne 35: Ligne 41:
  priority=100  priority=100
 } }
 +</code>
 +  * Éjecter proprement la carte SD
 +  * L'insérer dans le Raspberry
 +  * Allumer le Raspberry
 +
 +
 +===== 3 - Trouver son Raspberry =====
 +Il s'agit de retrouver l'IP de son Raspberry sur le réseau auquel on l'a connecté. Pour cela, soit :
 +  * Se connecter à l'interface du routeur si on y a accès, et retrouver son appareil dans les options
 +OU
 +  * Regarder l'IP de l'ordinateur avec lequel on se connecte, par exemple 192.168.0.13, et ne conserver que les 3 premiers octets (192.168.0)
 +  * Lancer un terminal et exécuter la commande suivante, avec les 3 premiers octets et en terminant par 0 (via sudo, sinon on ne verra pas le nom des machines)
 +<code>
 +sudo nmap -sn 192.168.0.0/24
 +</code>
 +Si nmap n'est pas installé, tapez la commande suivante :
 +<code>
 +sudo apt install nmap
 +</code>
 +Vous devriez avoir un appareil intitulé "Raspberry Pi Foundation", retenez son IP.
 +
 +===== 4 - Se connecter à son Raspberry =====
 +Nous allons nous connecter en SSH au Raspberry, avec dans un terminal la commande suivante :
 +<code>
 +ssh pi@IP_QUE_VOUS_AVEZ_TROUVE
 +</code>
 +  * Le terminal vous demandera si vous faites confiance à cette machine. Tapez "yes" puis Entrée
 +  * Le terminal vous demandera le mot de passe. Par défaut sur Raspberry Pi OS, c'est "raspberry"
 +  * S'il vous demande de changer le mot de passe, faites-le, et rappelez-vous-en ! (Par exemple via un utilitaire comme [[https://keepassxc.org/|KeepassXC]], généralement présent dans les dépôts de votre distribution)
 +  * S'il ne vous demande pas de changer de mot de passe, faites-le tout de même en tapant la commande suivante :
 +<code>
 +passwd
 +</code>
 +Vous êtes désormais connecté au Raspberry !
 +
 +===== 5 - Installer l'écran Hyperpixel =====
 +  * Éteignez le Raspberry, idéalement via la commande suivante, plus propre : 
 +<code>
 +sudo halt
 +</code>
 +  * Débranchez le Raspberry de son alimentation
 +  * Connectez l'écran au Raspberry sur les ports GPIO, délicatement, mais jusqu'au bout, de sorte que l'écran couvre le Raspberry
 +  * Rallumez le Raspberry
 +  * Connectez-vous en SSH
 +  * Installez git, si ce n'est déjà fait
 +<code>
 +sudo apt install git
 +</code>
 +  * Clonez le github de l'écran :
 +<code>
 +git clone https://github.com/pimoroni/hyperpixel
 +</code>
 +  * Exécutez le script d'installation de l'écran :
 +<code>
 +./setup.sh
 +</code>
 +  * Redémarrez le Raspberry :
 +<code>
 +sudo reboot
 +</code>
 +Vous devriez voir l'écran s'allumer.
 +Vous avez dorénavant un Raspberry avec un écran tactile et une interface de bureau LXDE !
 +
 +===== 6 - Télécharger Wikipédia sur une clef USB =====
 +Vous pouvez télécharger Wikipédia sous la forme de fichier .zim, format ouvert optimisé pour ce type de large contenu.
 +Vous trouverez de nombreux fichiers .zim à cette [[https://wiki.kiwix.org/wiki/Content_in_all_languages|adresse]]
 +A noter que l'on  peut également télécharger le wiktionnaire, wikisource, stackexchange ou tout autre contenu .zim
 +  * Télécharger [[http://download.kiwix.org/zim/wikipedia_fr_all_maxi.zim|Wikipédia version française, avec les images]] (33Go)
 +  * Copier ce fichier .zim à la racine de la clef usb, formatée au préalable en ext4
 +  * Branchez la clef USB au Raspberry
 +Vous disposez désormais d'une clef USB avec tout Wikipédia version française !
 +
 +===== 7 - Installer Kiwix pour lire Wikipédia =====
 +  * Télécharger et décompresser l'utilitaire Kiwix Tools pour Raspberry :
 +<code>
 +cd /home/pi/ && wget https://download.kiwix.org/release/kiwix-tools/kiwix-tools_linux-armhf.tar.gz && tar xvzf kiwix-tools_linux-armhf.tar.gz
 +</code>
 +  * Créer un lien symbolique vers l'exécutable kiwix-serve pour simplifier les commandes :
 +<code>
 +sudo ln -s /home/pi/kiwix-tools/kiwix-tools_linux-armhf-3.1.1-6/kiwix-serve /usr/bin/kiwix-serve
 +</code>
 +  * Créer un script shell contenant les informations de lancement de kiwix, qui cherche les fichiers .zim à la racine de tout support USB connecté au démarrage. On crée un script car l'ajout de chemins relatifs ne peut se faire dans le service systemd, qui n'accepte que les chemins absolus, donc pas les *. On lancera le service sur le port 8080, pour éviter d'avoir à utiliser un port <1000, qui nécessite l'exécution en sudo.
 +<code>
 +sudo nano /home/pi/kiwix-tools/kiwix-tools_linux-armhf-3.1.1-6/kiwix-serve.sh
 +</code>
 +  * Ajouter le contenu suivant à kiwix-serve.sh :
 +<code>
 +#!/bin/sh
 +kiwix-serve --port=8080 /media/pi/*/*.zim
 +</code>
 +  * Donner les droits d'exécution à ce script :
 +<code>
 +sudo chmod +X /home/pi/kiwix-tools/kiwix-tools_linux-armhf-3.1.1-6/kiwix-serve.sh
 +</code>
 +  * Créer un service systemd pour ce script, afin qu'il soit exécuté au démarrage :
 +<code>
 +sudo nano /lib/systemd/system/kiwix-serve.service
 +</code>
 +  * Ajouter le contenu suivant à kiwix-serve.service, incluant une attente de 10 secondes au démarrage le temps de monter les clefs USB :
 +<code>
 +[Unit]
 +Description=Kiwix Serve
 +After=multi-user.target
 +
 +[Service]
 +Type=idle
 +ExecStartPre=/bin/sleep 10
 +ExecStart=bash /home/pi/kiwix-tools/kiwix-tools_linux-armhf-3.1.1-6/kiwix-serve.sh
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +  * Donner les bonnes permissions à ce service :
 +<code>
 +sudo chmod 644 /lib/systemd/system/kiwix-serve.service
 +</code>
 +  * Recharger les configurations de service :
 +<code>
 +sudo systemctl daemon-reload
 +</code>
 +  * Activer le service kiwix-serve.service:
 +<code>
 +sudo systemctl enable kiwix-serve.service
 +</code>
 +  * Redémarrez le Raspberry :
 +<code>
 +sudo reboot
 +</code>
 +Vous pouvez tester le fonctionnement de kiwix en vous connectant depuis un ordinateur sur le même réseau local via un navigateur à http://IP_QUE_VOUS_AVEZ_TROUVE:8080
 +
 +===== 8 - Générer un wifi depuis le Raspberry pour consulter Wikipédia depuis d'autres appareils =====
 +Le but de cette étape est que le Raspberry génère son propre réseau wifi afin que tout appareil à proximité puisse s'y connecter et consulter le Wikipédia qui s'y trouve, via son navigateur. Pour cela, on va configurer le wifi en mode "ad-hoc" pour créer un hotspot sans partage de connexion Internet. ATTENTION : Pour cette étape, il est nécessaire que le Raspberry soit connecté en filaire à votre réseau !
 +  * Créer un fichier de configuration des interfaces réseau :
 +<code>
 +sudo nano /etc/network/interfaces.d/wikilonia
 +</code>
 +  * Ajouter le contenu suivant (on va conserver la connexion Ethernet en DHCP pour pouvoir continuer à accéder au Raspberry en SSH, et configurer le Wifi "ad-hoc") :
 +<code>
 +auto lo
 +iface lo inet loopback
 +
 +auto eth0
 +allow-hotplug eth0
 +iface eth0 inet dhcp
 +
 +auto wlan0
 +iface wlan0 inet static
 +  address 192.168.1.1
 +  netmask 255.255.255.0
 +  wireless-channel 1
 +  wireless-essid Wikilonia
 +  wireless-mode ad-hoc
 +</code>
 +  * Redémarrer le service réseau :
 +<code>
 +sudo service networking restart
 +</code>
 +  * Installer un serveur DHCP (pour que les appareils qui se connectent au Raspberry aient automatiquement une adresse) :
 +<code>
 +sudo apt install isc-dhcp-server
 +</code>
 +  * Editer le fichier de configuration DHCP :
 +<code>
 +sudo nano /etc/dhcp/dhcpd.conf
 +</code>
 +  * Décommenter (retirer le #) :
 +<code>
 +authoritative;
 +</code>
 +  * Ajouter :
 +<code>
 +subnet 192.168.1.0 netmask 255.255.255.0 {
 +  range 192.168.1.2 192.168.1.253;
 +  option routers 192.168.1.1;
 +}
 +</code>
 +  * Redémarrer le service DHCP :
 +<code>
 +sudo service dhcpd restart
 +</code>
 +
 +  * Editer le fichier de configuration du serveur DHCP :
 +<code>
 +sudo nano /etc/default/isc-dhcp-server
 +</code>
 +  * Commenter toutes les lignes IPV6
 +  * Décommenter toutes les lignes IPV4
 +
 +  * Reconfigurer le serveur DHCP :
 +<code>
 +sudo dpkg-reconfigure isc-dhcp-server
 +</code>
 +  * Lorsque la reconfiguration demande le nom de l'interface, taper "wlan0" puis Entrée
 +Vous pouvez désormais vous connecter avec n'importe quel appareil à proximité au wifi nommé "Wikilonia" !
 +Vous pourrez accéder à Wikipédia via votre navigateur avec l'adresse http://192.168.1.1:8080
 +
 +{{tag>manumerique wikipédia }}
wikilonia_oavl2020.1595611289.txt.gz · Dernière modification : 2020/07/24 17:21 de manumerique