clean
This commit is contained in:
parent
ba117d39fa
commit
5210c57235
Binary file not shown.
@ -1,85 +0,0 @@
|
||||
\documentclass[11pt,a4paper]{../template_cours}
|
||||
|
||||
\title{TP filius 2 — DNS et Pair à Pair}
|
||||
\author{Adrian Amaglio}
|
||||
\def\thesequence{Séquence 1 — Internet}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ---
|
||||
\section{Prise en main du réseau}
|
||||
Récupérez le fichier « Tp2.fls » sur le cahier de texte pronote, et si besoin téléchargez à nouveau filius \url{https://www.lernsoftware-filius.de/downloads/Setup/filius-1.10.3.zip}.
|
||||
Ouvrez le fichier « Tp2.fls » avec filius. Vous devez avoir trois réseaux interconnectés à l’aide d’un routeur.
|
||||
\begin{exercice}
|
||||
Vérifiez à l’aide d’un ping que deux machines dans deux réseaux distincts sont bien interconnectés.
|
||||
\end{exercice}
|
||||
|
||||
% ---
|
||||
\section{Le service DNS}
|
||||
\subsection{Configuration du serveur}
|
||||
\begin{exercice}
|
||||
\begin{enumerate}
|
||||
\item Ajoutez un ordinateur, nommez-le « serveur » et connectez le directement au routeur.
|
||||
\item Donnez lui une adresse IP (192.168.4.1 par exemple).
|
||||
\item Donnez une adresse IP au routeur, qui soit compatible avec celle du serveur.
|
||||
\item Dans la configuration du serveur, renseignez l’adresse IP du routeur comme passerelle.
|
||||
\item En mode simulation, installez un serveur DNS sur le serveur.
|
||||
\item Dans l’onglet « adresse (A) », renseignez le nom de domaine « lama-invader.fr » et l’adresse IP du serveur. On appelle la correspondance entre un nom symbolique (du texte) et une adresse IP, un enregistrement DNS.
|
||||
\item Cliquez sur « Ajouter » et vérifiez que la correspondance entre le nom de domaine et l’adresse IP du serveur soit bien apparue en dessous.
|
||||
\item Cliquez sur « Démarrer » pour activer le serveur DNS.
|
||||
\end{enumerate}
|
||||
\end{exercice}
|
||||
|
||||
\subsection{Configuration des clients}
|
||||
\begin{exercice}
|
||||
Choisissez un autre ordinateur que le serveur, nous l’appellerons le client. Nous allons lui donner accès au service DNS.
|
||||
\begin{enumerate}
|
||||
\item Sur le client, en mode configuration, renseignez l’adresse du serveur DNS dans la configuration.
|
||||
\item Sur le client, en mode simulation, installez la ligne de commande.
|
||||
\item Entrez la commande : « ping lama-invader.fr ».
|
||||
\item Vérifiez la réponse de la commande ping. Que s’est-il passé ?
|
||||
\end{enumerate}
|
||||
\end{exercice}
|
||||
\begin{exercice}
|
||||
Nous allons maintenant donner un nom symbolique à un ordinateur du réseau.
|
||||
\begin{enumerate}
|
||||
\item Sur le serveur DNS, faites correspondre l’adresse IP d’une machine avec le nom symbolique de votre choix. On peut utiliser un sous-domaine de « lama-invader.fr ».
|
||||
\item Depuis le client, essayez de ping ce nom symbolique. Est-ce la bonne adresse qui s’affiche ?
|
||||
\item Faites vérifier l’exercice par le professeur.
|
||||
\end{enumerate}
|
||||
\end{exercice}
|
||||
À retenir :
|
||||
\begin{definition}
|
||||
Pour qu’un ordinateur ait accès au service de traduction des noms symboliques en adresses IP, il faut qu’il connaisse un serveur DNS. Quand on se connecte à internet au quotidien, notre opérateur en donne un à nos appareils.
|
||||
\\
|
||||
Pour créer une correspondance entre un nom et une adresse IP, il faut ajouter un enregistrement DNS sur le bon serveur DNS.
|
||||
\end{definition}
|
||||
|
||||
|
||||
% ---
|
||||
\section{Échange de fichiers en pair à pair}
|
||||
Nous allons créer un réseau d’échange de fichiers en pair à pair.
|
||||
\begin{exercice}
|
||||
\begin{enumerate}
|
||||
\item Sur une machine en mode simulation, installez l’application Gnutella.
|
||||
\item Sur une seconde machine, installez également Gnutella.
|
||||
\item Dans gnutella, sur la seconde machine, dans l’onglet « réseau » renseignez l’adresse IP de la première et cliquez sur « Rejoindre le réseau ».
|
||||
\item Vérifiez que la machine apparait bien dans la liste des participants au réseau.
|
||||
\end{enumerate}
|
||||
\end{exercice}
|
||||
Nous avons maintenant un réseau de deux machines.
|
||||
L’objectif est de configurer d’autres machines pour les ajouter à ce réseau.
|
||||
Comme il s’agit d’un réseau pair-à-pair, on peut se connecter à n’importe quelle machine qui y participe.
|
||||
|
||||
\begin{exercice}
|
||||
\begin{enumerate}
|
||||
\item Connectez 3 ordinateur supplémentaires au réseau Gnutella.
|
||||
\item Installez sur un ordinateur l’application « explorateur de fichiers » et importez des fichiers de votre ordinateur dans le répertoire « Partage P2P » de la machine filius.
|
||||
\item Allez dans l’onglet « Rechercher » de Gnutella sur un autre ordinateur et cherchez votre fichier.
|
||||
\end{enumerate}
|
||||
\end{exercice}
|
||||
Gnutella n’est aujourd’hui plus beaucoup utilisé, mais de nombreux protocoles fonctionnes sur un principe similaire.
|
||||
Bittorrent permet l’échange de fichiers, Matrix ou retroshare permettent de communiquer, dat permet d’héberger et de visiter des sites web.
|
||||
|
||||
|
||||
\end{document}
|
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
from turtle import *
|
||||
|
@ -1,154 +0,0 @@
|
||||
\documentclass[11pt,a4paper]{../../template_cours}
|
||||
|
||||
\usepackage{minted}
|
||||
|
||||
\title{Introduction à Python — Dessiner avec la tortue}
|
||||
\author{Adrian Amaglio}
|
||||
\def\thesequence{Programmation}
|
||||
|
||||
\begin{document}
|
||||
Durée : 1h
|
||||
|
||||
% ---
|
||||
\section{La tortue de Python}
|
||||
Pour pouvoir utiliser la tortue de Python, nous allons écrire la ligne suivante tout en haut de notre fichier python :
|
||||
\begin{minted}{python}
|
||||
from turtle import *
|
||||
\end{minted}
|
||||
|
||||
%Pour que la fenêtre de dessin ne se ferme pas juste après la fin du tracé, ajoutez cette ligne \textbf{à la fin du programme} :
|
||||
%\begin{minted}{python}
|
||||
%exitonclick()
|
||||
%\end{minted}
|
||||
|
||||
% Des élèves recopient tout sans réfléchir, je laisse ça là pour détecter ceux qui ne lisent pas le sujet.
|
||||
Le but de l’activité sera de diriger le curseur (A.K.A. la tortue) pour tracer les formes demandées.
|
||||
\\\textbf{À titre indicatif,} voici les instructions que nous utiliserons :
|
||||
|
||||
Pour aller tout droit de 20 pixels :
|
||||
\begin{minted}{python}
|
||||
forward(20)
|
||||
\end{minted}
|
||||
|
||||
Pour tourner sur la gauche de 45° :
|
||||
\begin{minted}{python}
|
||||
left(45)
|
||||
\end{minted}
|
||||
|
||||
Pour tourner sur la droite de 45° :
|
||||
\begin{minted}{python}
|
||||
right(45)
|
||||
\end{minted}
|
||||
|
||||
|
||||
\section{Triangles, carrés et plus si affinités}
|
||||
|
||||
Voici un programme Python qui trace un triangle équilatéral de côté 50px
|
||||
\begin{example}
|
||||
\begin{minted}{python}
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
\end{minted}
|
||||
\end{example}
|
||||
|
||||
\begin{exercice}
|
||||
Copiez collez ce programme dans votre éditeur python et exécutez le pour vérifier qu’il trace bien un triangle.\\
|
||||
N’oubliez pas la première ligne (import) qui doit être en haut de chaque programme.
|
||||
\end{exercice}
|
||||
|
||||
\begin{exercice}
|
||||
Modifiez ce programme Python pour qu’il dessine un carré (polygone régulier à 4 côtés).
|
||||
\end{exercice}
|
||||
|
||||
\begin{exercice}
|
||||
Une fois que vous arrivez à tracer un carré à l’écran, adaptez le programme pour dessiner un octogone (polygone régulier à 8 côtés).
|
||||
\end{exercice}
|
||||
|
||||
\section{Des variables}
|
||||
Il commence à être fatigant de recopier toujours les mêmes chiffres.\\
|
||||
Nous allons utiliser deux variables qui nous permettent de stocker une valeur en mémoire pour la réutiliser plus tard.\\
|
||||
Ici, la variable $angle$ contiendra l’angle en degrés entre chaque côtés du polygone et la variable $longueur\_cote$ contiendra la longueur d’un côté en pixels.
|
||||
\begin{example}
|
||||
Ce programme python trace un triangle équilatéral de côté 50px
|
||||
\begin{minted}{python}
|
||||
# Dans un premier temps, on fixe les valeurs de nos variables
|
||||
angle = 120
|
||||
longueur_cote = 50
|
||||
# Dans un second temps, on les utilise pour notre programme
|
||||
forward(longueur_cote)
|
||||
left(angle)
|
||||
forward(longueur_cote)
|
||||
left(angle)
|
||||
forward(longueur_cote)
|
||||
\end{minted}
|
||||
Il est strictement équivalent au programe de l’exemple 1.
|
||||
Mais il est maintenant possible de changer tous les angles d’un coup en modifiant la valeur de la variable $angle$ à la ligne 2 !\\
|
||||
\end{example}
|
||||
|
||||
\begin{exercice}
|
||||
À l’aide des deux variables de l’exemple précédent, tracez un polygone régulier à 16 côtés.
|
||||
\\\textbf{Faites vérifier le programme par le professeur}\\
|
||||
\end{exercice}
|
||||
|
||||
\section{Des boucles}
|
||||
\begin{example}
|
||||
Une boucle sert à répéter une instruction un nombre précis de fois.
|
||||
Par exemple, la boucle suivante sert à répéter l’action « avancer de 10 pixels » 180 fois :
|
||||
\begin{minted}{python}
|
||||
for compteur in range(180):
|
||||
forward(10)
|
||||
\end{minted}
|
||||
\textbf{Pour qu’une action soit répétée, il faut qu’elle soit sous la ligne « for » et qu’elle soit précédée de 4 espaces.}
|
||||
\end{example}
|
||||
\begin{exercice}
|
||||
Tracez maintenant un polygone régulier à 180 côtés.
|
||||
Vous vous aiderez d’une boucle.
|
||||
\end{exercice}
|
||||
|
||||
|
||||
\section{Polygones en folie}
|
||||
Nous allons ajouter une dernière variable à notre programme python. Elle se nome $nombre_cotes$ et représente le nombre de côtés du polygone que l’on veut tracer.
|
||||
\begin{exercice}
|
||||
Écrivez un programme python qui est capable de tracer n’importe quel polygone ayant un nombre de côtés définis par la variable $nombre\_cotes$.
|
||||
\\
|
||||
\textbf{Faites vérifier le programme par le professeur}\\
|
||||
Le programme commencera par ces lignes :
|
||||
\begin{minted}{python}
|
||||
nombre_cotes = 6
|
||||
longueur_cote = 20
|
||||
\end{minted}
|
||||
\end{exercice}
|
||||
|
||||
% Le damier est assez dur à faire sans fonctions, il a occupé tous les élèves rapides que j’ai eu.
|
||||
\section{Damier (Bonus)}
|
||||
On peut colorier nos polygones à l’aide des fonctions « begin\_fill » et « end\_fill ».
|
||||
Voici l’exemple d’un triangle que l’on remplit :
|
||||
\begin{minted}{python}
|
||||
begin_fill()
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
end_fill()
|
||||
\end{minted}
|
||||
|
||||
\begin{exercice}
|
||||
Écrivez un programme qui trace un damier de 6 cases par 6 cases.
|
||||
Les couleurs des cases doivent alterner blanc et noir.
|
||||
\\\textbf{Faites vérifier le programme par le professeur}
|
||||
\\Indices :
|
||||
\begin{itemize}
|
||||
\item La première ligne du damier peut être vue comme la répétition d’un couple « case blanche + case noire ».
|
||||
\item La seconde ligne du damier est la répétition d’un couple « Case noire + case blanche ».
|
||||
\item On peut faire dans un premier temps une boucle qui dessine la première ligne.
|
||||
\item On peut ensuite écrire les instructions permettant de se placer pour pouvoir dessiner la seconde ligne.
|
||||
\item Dans un troisième temps on peut faire la boucle qui dessine la seconde ligne.
|
||||
\item Finalement, on peut répéter les opérations précédentes 3 fois pour tracer tout le damier.
|
||||
\end{itemize}
|
||||
\end{exercice}
|
||||
|
||||
\end{document}
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user