Support Nano-ordinateur Raspberry Pi STIC 2 Édition 2023-2024 Chapitre3.pdf
Document Details
Uploaded by StupendousClarity
2023
STIC
Tags
Full Transcript
Electronique Programmable Nano-ordinateur Raspberry Pi Nano-ordinateur Raspberry Pi Sommaire 1. Serveur informatique............................
Electronique Programmable Nano-ordinateur Raspberry Pi Nano-ordinateur Raspberry Pi Sommaire 1. Serveur informatique..................................................................................................... 1 1.1. Définition de client/serveur web............................................................................... 1 1.2. Architecture client/serveur........................................................................................ 1 1.3. Protocole de communication..................................................................................... 1 1.4. Rôle de la carte Raspberry Pi..................................................................................... 2 2. Carte Raspberry Pi : connectivité réseau et exploitation............................................ 2 2.1. Réseau Ethernet........................................................................................................ 2 2.2. Réseau Wi-Fi............................................................................................................. 2 2.3. Contexte d’utilisation................................................................................................ 3 2.4. Architecture du système avec une carte Raspberry Pi................................................ 3 3. Mise en place d’un serveur web sur la carte Raspberry Pi......................................... 3 3.1. Elaboration d’un site web.......................................................................................... 3 3.2. Installation du serveur HTTP « Apache ».................................................................. 5 3.3. Configuration du répertoire du site web.................................................................... 5 3.4. Déploiement du site web........................................................................................... 6 INP-HB/DFR Génie Électrique et Électronique I KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi Chapitre 3 : Raspberry Pi et serveur web Objectifs spécifiques : ─ Comprendre l’exploitation de la carte Raspberry Pi comme serveur web ; ─ Installer et configurer un serveur web logiciel sur la carte Raspberry Pi ; ─ Héberger un site web sur la carte Raspberry Pi ; ─ Exploiter la carte Raspberry Pi comme serveur web dans un projet. 1. Serveur informatique 1.1. Définition de client/serveur web Un serveur informatique est un dispositif matériel et/ou logiciel qui offre des services accessibles via un réseau à un ou plusieurs utilisateurs. Le dispositif matériel et/ou logiciel permettant à l’utilisateur d’envoyer des demandes à un serveur et de recevoir les réponses du serveur est appelé client. Il existe plusieurs types de serveurs informatiques : serveur de messagerie, serveur de fichiers, serveur web, etc. Un serveur web est un serveur informatique qui diffuse du contenu web à travers un réseau internet ou intranet à la demande d’un client web. 1.2. Architecture client/serveur Une architecture client/serveur désigne le mode de communication entre un client et le serveur via un réseau public (internet) ou privé (intranet). La figure ci-dessous présente l’architecture client/serveur dans laquelle le navigateur web représente le client web logiciel et Apache le serveur web logiciel. Les clients envoient des requêtes au serveur qui les reçoit, les traite et apporte des réponses aux clients. Figure 1 : Architecture client/serveur 1.3. Protocole de communication La communication entre le client web logiciel et le serveur web logiciel par l’intermédiaire d’un INP-HB/DFR Génie Électrique et Électronique réseau informatique se fait à l’aide du protocole HTTP. En effet, le protocole HTTP permet le transfert de fichiers (HTML, CSS, etc.) localisés entre un navigateur et un serveur web grâce à une adresse web (URL) du fichier. La figure ci-dessous décrit cette communication en cinq (05) étapes. Figure 2 : Communication client/serveur web 1 KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi A partir de l’URL du navigateur web (client web logiciel), l’utilisateur de l’ordinateur envoie une requête HTTP au serveur web. Le serveur web reçoit la requête, la traite c’est-à-dire l’interprète afin de localiser le fichier demandé. Une fois que le fichier demandé est localisé, le serveur web crée des en-têtes de données puis envoie la réponse au navigateur web. 1.4. Rôle de la carte Raspberry Pi Notre serveur web à mettre en place sera composé d'un serveur web matériel et d'un serveur web logiciel. Ce serveur enverra, à la demande du client, le fichier hébergé vers le navigateur web du client. Serveur web matériel : Carte Raspberry Pi Serveur web logiciel : Apache, serveur HTTP Utilisée comme un serveur web, la carte Raspberry Pi exploite principalement ses connectivités réseaux pour communiquer avec chaque client (matériel). 2. Carte Raspberry Pi : connectivité réseau et exploitation 2.1. Réseau Ethernet L’Ethernet est un protocole communication filaire utilisé pour les réseaux LAN (Local Area Network) régis par les normes ISO/IEC 802-3. La carte Raspberry Pi dispose d’une connectivité Gigabit Ethernet lui offrant la possibilité de se connecter à un réseau Ethernet avec des taux de transfert de données d'un gigabit par seconde. Un réseau Ethernet est un réseau informatique au sein duquel l’interconnexion entre les terminaux (ordinateur, objet connecté, etc.) se fait par câble Ethernet RJ45 par l’intermédiaire d’équipements réseaux d’interconnexion. La figure ci-dessous présente une architecture de réseau Ethernet. Figure 3 : Architecture d'un réseau Ethernet 2.2. Réseau Wi-Fi Le Wi-Fi est un ensemble de protocoles de communication par ondes radio (ou sans fil) régis par les normes IEEE 802.11. INP-HB/DFR Génie Électrique et Électronique La carte Raspberry Pi dispose d’une connectivité Wi-Fi (2,4 GHz et 5,0 GHz IEEE 802.11ac) lui offrant la possibilité de se connecter à un réseau Wi-Fi. Un réseau Wi-Fi est un réseau informatique au sein duquel l’interconnexion entre les terminaux (ordinateur, smartphone, objet connecté, etc.) se fait par liaison sans fil par l’intermédiaire d’équipements réseaux d’interconnexion. La figure ci-dessous présente une architecture de réseau Wi-Fi. Figure 4 : Architecture d'un réseau Wi-Fi 2 KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi 2.3. Contexte d’utilisation Aujourd’hui dans la mise en place d’une installation domotique ou IoT l’on souhaite, à partir d’un réseau intranet ou internet, accéder à une plateforme centralisée permettant de piloter le système et gérer les informations en provenance des différents objets communicants. L’un des moyens est la mise en place d’un serveur disposant d’une interface web de pilotage et d’une base de données pour stocker et faciliter la gestion les données. L’accès au serveur web se fait dans ce cas simplement à partir d’un terminal pouvant se connecter au réseau et possédant un navigateur web. 2.4. Architecture du système avec une carte Raspberry Pi L’architecture d’un système domotique ou IoT utilisant la carte Raspberry Pi comme serveur web matériel peut se présenter comme suit : Figure 5 : Architecture d'un système domotique ou IoT La communication entre la carte Raspberry Pi et les objets communicants peut se faire par liaison physique ou par liaison sans fil. 3. Mise en place d’un serveur web sur la carte Raspberry Pi 3.1. Elaboration d’un site web Un site web est un ensemble de pages web reliées entre elles par des liens hypertextes et hébergé sur un serveur HTTP. Une page web est une ressource informatique constituée de scripts et de contenus accessible et lisible à partir d’un navigateur web. Maquette de la page web Dans ce chapitre nous allons élaborer une page web statique nommée « index.html » dont la maquette se présente comme suit : INP-HB/DFR Génie Électrique et Électronique En-tête de page (Bannière) Titre de page Bouton ON/OFF Pied de page Figure 6 : Maquette de la page web index.html 3 KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi Outils et langages de programmation Les outils et langages de programmation à utiliser pour l’élaboration de notre page web sont : Editeur de code : Sublime Text Structure et contenu : langage HTML Mise en forme : langage CSS Structure et contenu : langage HTML La structure de base du code HTML de la page web se présente comme suit : Titre principal de la page Travail à faire : corps de la page Ajouter une bannière Ajouter un titre Ajouter un bouton dans un formulaire Ajouter un pied de page Mise en forme : langage CSS Il faut par la suite associer le fichier HTML « index.html » au fichier CSS nommé « style.css » chargé de la mise en forme. Cette association se fait en insérant la ligne dans le code HTML comme le montre le code HTML de la page web ci- dessous : INP-HB/DFR Génie Électrique et Électronique Titre principal de la page Travail à faire : corps de la page Créer le fichier « style.css » chargé de la mise en forme Appeler le fichier « style.css » dans le code HTML Ecrire le code CSS du fichier « style.css » 4 KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi 3.2. Installation du serveur HTTP « Apache » Comme serveur HTTP, nous utiliserons le logiciel Apache. Une fois que la connexion réseau entre le matériel client/serveur est établie, pour chaque requête HTTP de l’utilisateur à partir de son navigateur web, le logiciel Apache qui héberge le dossier du site web enverra une réponse HTTP contenant le fichier demandé au navigateur web de l’utilisateur. La procédure d’installation du serveur Apache est décrite ci-dessous en 3 étapes : Mettre à jour le cache des paquets sudo apt-get update Mettre à jour les paquets du système sudo apt-get upgrade Télécharger et installer Apache 2 sudo apt-get install apache2 –y Dans le cas d’un site web dynamique, un langage serveur et un SGBD seront nécessaires. Nous pourrions utiliser le langage serveur PHP et le SGBD MySQL. Dans ce cas l’installation de l’interpréteur PHP et du système de gestion de base de données MySQL sont indispensables. 3.3. Configuration du répertoire du site web Le répertoire « /var/www/html » est utilisé par le serveur Apache comme répertoire par défaut pour les sites web. En effet, lorsque le serveur Apache reçoit une requête http sur le port 80, il cherche par défaut le fichier « index.html » dans le répertoire « /var/www/html ». Par défaut sur un système Linux, le serveur Apache est exécuté par l'utilisateur système « www- data » qui appartient au groupe « www-data ». Le serveur Apache ne peut donc accéder qu'au contenu accessible par l'utilisateur « www-data ». Pour permettre l’administration du site web en local par un utilisateur standard par exemple l’utilisateur « pi », l’utilisateur propriétaire du répertoire « /var/www/html » doit être l'utilisateur « pi » mais le groupe propriétaire du répertoire doit rester « www-data ». Par ailleurs, l’utilisateur propriétaire (u) et le groupe propriétaire (g) doivent avoir tous les droits d’accès aux « fichiers » du répertoire « /var/www/html » et les autres utilisateurs (o) aucun droit d’accès. INP-HB/DFR Génie Électrique et Électronique Ci-dessous les commandes permettant de modifier le propriétaire et les droits d’accès du répertoire du site web. Pour notre projet, on remplacera « $USER » par « pi » et « u_g_o » par « 770 ». Modifier le propriétaire de « /var/www/html ». sudo chown -R $USER:www-data /var/www/html Modifier les droits d’accès du répertoire « /var/www/html » sudo chmod -R u_g_o /var/www/html 5 KONE Siriky Youssouf Édition 2023 Nano-ordinateur Raspberry Pi 3.4. Déploiement du site web Le serveur est prêt pour recevoir le contenu du site Web. Il ne reste plus qu’à transférer le contenu du site web dans le répertoire « /var/www/html ». De façon classique, l’on dépose le dossier du site web sur une clé USB qu’il faut par la suite connecter à la carte Raspberry Pi via un port USB. Sur l’ordinateur de prise de contrôle à distance de la carte Raspberry Pi, les fichiers du site web sont copiés et collés dans le répertoire « /var/www/html ». Il faut au préalable vider le contenu du répertoire « /var/www/html ». Une autre option est de transférer le contenu du site web à distance en SSH par l’usage d’un logiciel client FTP installé sur l’ordinateur de prise de contrôle à distance de la carte Raspberry Pi. Exemples de logiciels clients FTP : FileZilla WinSCP La procédure d’utilisation du logiciel client FTP FileZilla est la suivante : Télécharger et installer un client Filezilla https://filezilla-project.org/download.php?platform=win64 Activer SSH sur la carte Raspberry Pi Se connecter en SSH à la Raspberry Pi avec Filezilla L’interface de connexion de FileZilla se présente comme suit : Figure 7 : Interface de connexion de FileZilla INP-HB/DFR Génie Électrique et Électronique Les paramètres de connexion sont : Hôte : adresse IP de la carte Raspberry Pi Identifiant : pi Mot de passe : raspberry Port : 22 (le port SSH) 6 KONE Siriky Youssouf Édition 2023