Travaux pratiques : Travail en réseau sous Linux, Git

Connexions réseaux

  1. Configurer une clef SSH et essayer de vous connecter à différentes machines. Si vous êtes sur une machine de la salle de TP, se connecter à d'autres machines de la salle. Si vous êtes sur votre machine personnelle, configurer un rebond via sas.eleves.ens.fr avant d'accéder à une machine de la salle de TP. Faire en sorte de ne pas avoir besoin de taper son mot de passe ou le mot de passe de la clef à chaque connexion.
  2. Depuis une machine du réseau de l'ENS, demander un transfert de zone DNS (type de requête AXFR) au serveur de nom de domaine de l'ENS. Stocker le résultat dans un fichier et l'analyser avec cut, sort, grep, etc.
  3. Mettez en place, avec votre voisin, une communication bidirectionnelle entre sa machine et la vôtre pour discuter : l'un d'entre vous démarre un serveur TCP sur un certain port, l'autre s'y connecte. Pour que cela fonctionne, il faut qu'aucun pare-feu n'empêche les connexions entre les deux machines.
  4. Sur une machine de la salle de TP, lancer un petit serveur Web qui ne répond qu'aux connexions locales : python3 -m http.server --bind 127.0.0.1 8000. Depuis votre propre machine, y accéder dans votre navigateur en redirigeant un port local vers ce serveur au travers de SSH (option -L), en passant par le rebond configuré à la première question. Vérifier avec ss ou curl, des deux côtés, quel processus écoute sur quel port.

Branchements Git

  1. Faire les exercices de Learn Git Branching (en particulier les trois premières séries d'exercices du groupe Principal et la première série d'exercice du groupe Remote).

Git en pratique

Pour cet exercice, former un groupe de 2 à 4 personnes.

  1. Créer chacun un compte sur GitHub si vous n'en avez pas déjà un.
  2. L'un des membres de chaque groupe (le mainteneur) va forker le dépôt https://github.com/PierreSenellart/matrix_tutorial contenant le code de la solution du TP de lundi, dans son propre espace. Partager ce dépôt en lecture et écriture avec les autres membres du groupe.
  3. Chaque membre du groupe doit maintenant cloner en local une copie de ce fork, puis ajouter le dépôt initial comme un remote upstream.
  4. Au sein de chaque groupe, répartissez-vous les tâches d'ajouter des fonctionnalités à ce dépôt : Chacun des développements se fait dans des branches spécifiques à cette fonctionnalité. Une fois une fonctionnalité finalisée, envoyer sur le serveur. Le mainteneur fusionne ensuite les changements dans la branche principale.
  5. En fin de TP, faire une pull request pour demander d'intégrer les changements au dépôt upstream.

Vous pouvez utiliser un assistant fondé sur un modèle de langage (dans l'éditeur ou en ligne de commande) pour relire votre code ou rédiger vos messages de commit, mais l'objectif de ce TP est de pratiquer vous-même les commandes git : exécutez-les à la main.