\documentclass[11pt,a4paper]{article}
\setlength{\voffset}{-1.5cm}
\setlength{\hoffset}{-1.5cm}
\setlength{\textwidth}{16cm}	% Largeur de la zone de texte
\setlength{\oddsidemargin}{1.5cm}	% Marge gauche sur pages impaires
\setlength{\evensidemargin}{1.5cm}% Marge gauche sur pages paires
\setlength{\marginparwidth}{1cm}% Largeur de note dans la marge
\setlength{\textheight}{24cm}	% Hauteur de la zone de texte
\setlength{\topmargin}{0cm}	% Pas de marge en haut
\setlength{\headsep}{0.5cm}	% Entre le haut de page et le texte
\setlength{\headheight}{1cm}	% Haut de page
%\setlength{\footskip}{}
%EXTENSIONS
     	\usepackage[latin1]{inputenc}
	\usepackage[LGR,T1]{fontenc}
	\usepackage[greek,francais]{babel}
 	\usepackage[francais]{layout}
	\usepackage{fancyhdr}
	\usepackage{fancybox}
	\usepackage{url}
	\usepackage[cyr]{aeguill} %pour l'encodage des fonts et les guillemets
 	\usepackage{xspace} 	%pour de beaux espaces
\setlength{\parskip}{0.5\baselineskip} %pour l'espacement des paragraphes
\widowpenalty=10000 % empeche au maximum la coupure avant la derniere ligne
\clubpenalty=10000  % empeche au maximum la coupure apres la premiere ligne
\raggedbottom       % empeche l'etirement des ressorts verticaux
\lhead{}
\chead{\begin{LARGE}TP ResEl 101 : Linux\end{LARGE}}
\rhead{}

\pagestyle{fancy}
\begin{document}

\section*{But du TP}

Le but de ce TP est de vous faire manipuler les commandes de base de Linux. Pour cela vous allez compiler un programme (X-Chat) sur une machine distante, en modifiant très légèrement les sources.

Ce cours s'appuie sur le Poly \emph{ResEl 101 : Cours sur les outils Linux}.

\section{Récupération des sources et connexion}

La première étape est de trouver les sources de la dernière version de X-Chat, vous pouvez les trouver à l'adresse \url{http://www.xchat.org/files/source/2.4/?S=D}. 

Ensuite il faut copier les données sur la machine sur laquelle vous allez compiler, pour cela nous allons utiliser \texttt{scp}. Copiez le fichier de votre machine jusqu'à la machine distante : 

%cadre petit
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Connectez-vous ensuite sur la machine sur laquelle vous avez copié le fichier avec \texttt{ssh} : 

%cadre petit
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

\section{Extraction}

Créez-vous un sous-répertoire dans \texttt{/home/tp}, afin de ne pas mélanger les groupes. Pour la suite du TP, supposons que ce répertoire s'appelle \texttt{groupe1}. Il va ensuite falloir extraire les fichiers de l'archive pour travailler dessus. 

%cadre petit
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Vous pouvez noter que les fichiers \texttt{README} et \texttt{INSTALL} sont importants car ils vous indiquent quoi faire pour la compilation.

\section{Travail sur les sources}

Il va ensuite s'agir de modifier le numéro de version de X-Chat, pour cela repérez le numéro de version de la version que vous avez téléchargé, puis faites une recherche (récursive) sur tous les fichiers, afin de voir où il apparaît.

%cadre petit
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Changez ensuite le numéro de version de quelques fichiers qui vous semblent importants, avec \texttt{Vim}.

\section{Screen}

Afin de mettre un peu de challenge, créez un screen, avec un certain nom, par exemple \texttt{groupe1}, et faites le reste des commandes à l'intérieur.

%cadre petit
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

\section{Gestion des dépendances}

Nous allons maintenant passer à la phase de compilation, et tout d'abord de gestion des dépendances : installons déjà les paquets dont X-Chat a besoin, sans se soucier des bibliothèques dont il a besoin pour compiler.

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Essayons de lancer le script de configuration pour voir si X-Chat peut compiler :

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Éxecutons ensuite le script de configuration. Par contre, étant donné que l'on a pas les droits superutilisateur, il faut que l'installation se fasse dans un répertoire dans lequel l'écriture est autorisée, ici \texttt{/home/compil} : 

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

On voit que tout semble correct (tous les paquets nécessaires ont été installés avant).

\section{Compilation}

Essayons de compiler le tout avec \texttt{make}. Le problème est que cette opération est vraiment très longue sur cette machine, nous allons donc nous amuser à voir où en sont les autres. Étant donné qu'ils font cela dans un screen dont on peut connaître le nom (en leur demandant), avec le même utilisateur que vous, vous pouvez voir où il en sont en rejoignant leur screen : 

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Ensuite vous n'avez plus qu'à installer le programme : 

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

\section{Essai}

Pour tester ce programme qui est graphique, il faut se connecter en ssh, mais en activant la redirection graphique : 

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

Éxécutez ensuite le programme : 

%petit cadre
\vspace{0.2cm}
\noindent{\framebox[16cm][l]{\$}}
\vspace{0.2cm}

\end{document}
