TP Réseaux
Objectifs
- Expliquer et utiliser les ports
- Héberger un site web sur son propre ordinateur
- Connaître son adresse IP privée et publique
- Tester la connexion entre deux ordinateurs
- Utiliser un DNS
Théorie
Les ports
Un ordinateur possède des ports physiques et des ports logiciels. Les premiers permettent de connecter des périphériques à l'ordinateur. Les seconds permettent de connecter des logiciels à l'ordinateur.
Les ports logiciels sont les points d'entrée et de sortie d'un ordinateur sur un réseau. Lorsqu'on souhaite communiquer avec un ordinateur sur un réseau, on indique son adresse IP et le port logiciel sur lequel on souhaite communiquer.
Les ports sont numérotés de 0 à 65535 (encodés sur 16 bits). Les ports de 0 à 1023 sont réservés pour les services les plus courants. Par exemple :
- 80 pour le web (HTTP)
- 443 pour le web sécurisé (HTTPS)
- 25 pour le courrier électronique (SMTP)
- 25565 pour le jeu Minecraft
Hébergement
Héberger un site web veut dire qu'on expose le site sur un port d'un ordinateur. Par exemple, on peut exposer notre site sur le port 80. Ainsi, les autres ordinateurs peuvent accéder à notre site en utilisant notre adresse IP et le port 80.
Pratique
Héberger votre propre site web
Héberger sur le port 80
- Ouvrir le Terminal sur le dossier
html
.- Avec le Finder, naviguer jusqu'au dossier
html
où devrait se trouver le fichierindex.html
- Clic-droit sur le dossier
html
et sélectionnerNouveau terminal au dossier
(peut-être dans Services).
- Avec le Finder, naviguer jusqu'au dossier
- Lancer le serveur web avec la commande
python3 -m http.server 80
dans le terminal :- Copier la commande sur le terminal
- Appuyer sur la touche Enter
- Le terminal devrait afficher
Serving HTTP on :: port 80 (http://[::]:80/) ...
- Ouvrir le navigateur web et aller sur
- http://localhost
- http://127.0.0.1
- http://localhost:80
- http://127.0.0.1:80
- Pourquoi toutes ces adresses donnent-elles accès au même contenu ?
- Arrêter le serveur web avec la combinaison de touches Ctrl + C.
Connaître son adresse IP
- Chercher et noter son adresse IP privée et son adresse IP publique.
- Pour l'adresse publique : aller sur https://www.whatismyip.com/ pour connaître votre adresse IP publique.
- Pour voir votre adresse IP privée, choisir le menu Pomme > Réglages Système > Réseau > Ethernet > Adresse IP.
- Ou taper
ipconfig getifaddr en0
dans le terminal.
- Ou taper
- Noter les deux adresses IP sur la feuille Excel partagée sur Teams
tp-reseaux.xlsx
.
- Comparer les deux adresses IP. Sont-elles différentes ou identiques ? Pourquoi ?
- Comparer ses adresses IP avec celles de ses camarades de classe.
Héberger sur un autre port
- Relancer le serveur web sur le port 8080 avec la commande
python3 -m http.server 8080
dans le terminal. - Sur le navigateur web, aller à l'adresse http://localhost:8080
- Est-ce que http://localhost:80 fonctionne toujours ?
- Tester aussi les adresses http://127.0.0.1 et http://127.0.0.1:8080
- Choisir un port entre 1024 et 65535 (par exemple 57260) et lancer le serveur web sur ce port avec la commande
python3 -m http.server 57260
dans le terminal (à remplacer avec le numéro de port choisi).- Chercher sur Internet pourquoi on doit choisir un port supérieur à 1023.
- Indiquer le numéro de port choisi sur la feuille Excel partagée sur Teams
tp-reseaux.xlsx
. - Indiquer le lien avec l'adresse IP privée sur la feuille Excel partagée sur Teams
tp-reseaux.xlsx
.- Par exemple, si l'adresse IP privée est
192.168.1.2
et le port est1291
, le lien seraithttp://192.168.1.2:1291
. - Vérifier que le lien fonctionne sur son propre ordinateur.
- Par exemple, si l'adresse IP privée est
Tester la connexion entre deux ordinateurs
- Avec le navigateur, accéder au site d'un·e de vos camarades de classe avec le lien. Par exemple
http://10.0.0.0:1291
. - Cela fonctionne-t-il avec l'adresse IP publique ?
Utiliser le DNS du Gymnase
- Obtenir le nom de domaine de votre ordinateur.
- Dans le Terminal, taper la commande
hostname
pour obtenir le nom de votre ordinateur. - Ou dans le menu Pomme > Réglages Système > Partage > Nom de l’hôte.
- Dans le Terminal, taper la commande
- On peut utiliser ce nom de domaine (local) pour accéder à l'ordinateur depuis un autre ordinateur à la place de l'adresse IP.
- Noter le nom de domaine de votre ordinateur ainsi que le lien sur la feuille Excel partagée sur Teams
tp-reseaux.xlsx
.- Ajouter
.local
à la fin du nom de l'ordinateur dans le lien. - Par exemple, si le nom de l'ordinateur est
gyp-mac-009-00
et le port est1291
, le lien seraithttp://gyp-mac-009-00.local:1291
.
- Ajouter
- Depuis son navigateur, accéder à la page web d'un·e de vos camarades de classe en utilisant le nom de son ordinateur. Par exemple
http://gyp-mac-009-00:1291
.
Lier les sites web
- Ajouter un lien hypertexte sur son site vers le site d'un·e de vos camarades et enregistrer les modifications.
Réponses HTTP
Lorsqu'on accède à un site web, le navigateur envoie une requête HTTP au serveur web. Le serveur web répond avec une réponse HTTP qui contient un code de statut et un corps. Le code de statut est un nombre à trois chiffres qui indique si la requête a réussi ou non. Par exemple :
- 200 : OK
- 301 : Moved Permanently
- 404 : Not Found
- 500 : Internal Server Error
Le site https://httpstatus.io/ permet de visualiser les codes de statut HTTP d'un site web. Essayer avec les sites web suivants :
https://www.rts.ch/
https://gymnase.davidtang.ch/
- Quel est le code de statut HTTP ?
- Sur quel site est-on redirigé ?
https://cff.ch/
https://www.google.com/404
Voici une liste amusante de tous les codes de statut HTTP sur https://http.cat/. Jeter un œil au 418.
Filius
- Simulation de réseaux avec Filius (déjà installé sur les ordinateurs du gymnase).
Améliorer son site web
Dans Visual Studio Code, ajouter l'extension Live Server et lancer son site web avec cette extension. Elle vous permettra de rafraîchir automatiquement la page web lors de la sauvegarde (Ctrl + S).
Ajouter du CSS à son site web :
Terminal
Apprendre à utiliser le terminal.