From 3482bb944ac3e4c540cf8dd0e86007aa1276394d Mon Sep 17 00:00:00 2001
From: Philippe Dosch <Philippe.Dosch@loria.fr>
Date: Sun, 5 Jan 2014 21:21:34 +0100
Subject: [PATCH] Connection part now splited into 3 files

---
 gitconnect.tex | 441 +------------------------------------------------
 github.tex     |  65 ++++++++
 gitiut.tex     |  93 +++++++++++
 redmineiut.tex | 272 ++++++++++++++++++++++++++++++
 ssh.tex        |  97 +++++++++++
 5 files changed, 532 insertions(+), 436 deletions(-)
 create mode 100644 github.tex
 create mode 100644 gitiut.tex
 create mode 100644 redmineiut.tex
 create mode 100644 ssh.tex

diff --git a/gitconnect.tex b/gitconnect.tex
index a7b48ef..0ae047d 100644
--- a/gitconnect.tex
+++ b/gitconnect.tex
@@ -1,9 +1,8 @@
 \documentclass{IutSlideBeamerNew}
 
 \title{Git}
-\subtitle{Principes et utilisation pour les projets tuteurés\\
-(et les autres projets...)}
-\date{5 septembre 2013}
+\subtitle{Gestion des dépôts distants}
+\date{6 janvier 2014}
 
 \AtBeginSubsection[]
 {
@@ -33,439 +32,9 @@
 
 %======================================================================
 
-\section{Gestion des projets à l'IUT}
-
-%======================================================================
-
-\subsection{Authentification SSH}
-
-%======================================================================
-
-\frame{\frametitle{Problématique}
-  \begin{itemize}
-  \item
-    De nombreux serveurs Git utilisent une authentification par clés
-    publiques SSH
-  \item
-    Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
-    contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
-    existe déjà~!
-  \item
-    Sinon, il faut en générer une pour pouvoir communiquer avec les
-    serveurs...
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Génération de clé SSH RSA}
-  \begin{itemize}
-  \item
-    Pour générer une clé, utiliser \ex{ssh-keygen}
-    \begin{itemize}
-    \item
-      sous Linux : en standard dans le package \ex{openssh-client}
-    \item
-      sous Windows : installer MSysGit
-    \item
-      sous Mac : en standard dans MacOS
-    \end{itemize}
-  \item
-    Lors de la génération, une \emph{passphrase} est demandée
-    \begin{itemize}
-    \item
-      c'est une sorte de mot de passe (ne pas reprendre le mot de
-      passe de connexion)
-    \item
-      cette \emph{passphrase} sera demandée lors des connexions SSH
-    \end{itemize}
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Utilisation d'une clé SSH}
-  \begin{itemize}
-  \item
-    Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
-    nécessaire d'y déposer sa clé publique (le contenu du fichier
-    \ex{id\_rsa.pub})
-  \item
-    Les serveurs proposent généralement d'effectuer ce dépôt
-    \emph{via} une interface Web
-  \item
-    À chaque connexion SSH, la \emph{passphrase} sera demandée
-  \item
-    Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
-    \ex{ssh-agent}
-    \begin{itemize}
-    \item
-      sous Linux et Mac : en tapant \ex{ssh-add}
-    \item
-      sous Windows : voir
-      \url{https://help.github.com/articles/working-with-ssh-key-passphrases}
-    \end{itemize}
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Clé SSH et multi-comptes}
-  \begin{itemize}
-  \item
-    Lorsqu'on est susceptible de se connecter depuis plusieurs
-    ordinateurs (ou OS) à un serveur Git, plusieurs solutions
-    \begin{itemize}
-    \item
-      générer une clé SSH sur chacun de ses comptes et importer chaque
-      clé publique sur le serveur
-    \item
-      générer une clé SSH sur le premier compte, la copier sur les
-      autres comptes et importer la partie publique sur le serveur
-    \end{itemize}
-  \item
-    Il peut être sain de travailler avec plusieurs clés SSH et ainsi
-    ne pas mettre tous ses \oe{}ufs dans le même panier...
-  \end{itemize}
-}
-
-%======================================================================
-
-% \section{Gérer un dépôt Git sur github}
-
-% %======================================================================
-
-% \frame{\frametitle{Inscription et configuration}
-%   \begin{itemize}
-%   \item
-%     \emph{Github} : \url{https://github.com/}
-%   \item
-%     Inscription : choisir un compte gratuit
-%   \item
-%     Ajouter sa clé RSA publique en passant par l'icône \emph{Account
-%       settings}
-%   \item
-%     Au besoin, la créer
-%     \begin{itemize}
-%     \item
-%       sous Linux :  les indications sont fournies par Github
-%     \item 
-%       sous Windows : utiliser puttygen
-%     \end{itemize}
-%   \end{itemize}
-% }
-
-% %======================================================================
-
-% \frame{\frametitle{Configuration}
-%   \begin{itemize}
-%   \item
-%     À l'initiative d'une seule personne, le créateur du projet
-%   \item
-%     Création d'un dépôt public avec un simple nom
-%   \item
-%     Suivre les indications fournies par le site !
-%   \item
-%     Effectuer la configuration globale sur votre machine (si non déjà
-%     effectuée)
-%   \item
-%     Réaliser les étapes d'initialisation du dépôt décrites
-%   \item
-%     Le dépôt est créé (vérifier sous Github)
-%   \item
-%     Ajouter les collaborateurs (\emph{Admin\,/\, collaborators}) 
-%   \end{itemize}
-% }
-
-% %======================================================================
-
-% \frame{\frametitle{Rallier un projet existant}
-%   \begin{itemize}
-%   \item
-%     Recommandé, y compris pour le créateur du projet
-%   \item
-%     Aller sur la page consacrée au projet
-%   \item
-%     Choisir le protocole SSH parmi ceux proposés
-%   \item
-%     Copier l'URL associée
-%   \item
-%     Taper\\
-%     \mygit{git clone git@github.com:dosch/test.git}{gitclone.txt}
-%   \end{itemize}
-% }
-
-% %======================================================================
-
-\subsection{Gérer un projet sur Redmine (IUT)}
-
-%======================================================================
-
-\frame{\frametitle{Informations générales}
-  \begin{itemize}
-  \item
-    Adresse du serveur, accessible également depuis l'extérieur\\
-    \url{https://redmine.iutnc.univ-lorraine.fr}
-  \item
-    Tous les projets doivent être gérés et rendus sur ce serveur
-  \item
-    Les tuteurs s'y rendront donc pour les récupérer...
-  \item
-    Il est nécessaire de s'y connecter \textbf{rapidement} une
-    première fois pour y rentrer ses informations personnelles
-  \item
-    Cette étape est \textbf{nécessaire} pour que les projets tuteurés
-    puissent être complètement créés et renseignés sur Redmine
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Informations générales}
-  \framesubtitle{Gestion des projets Redmine}
-  \begin{itemize}
-  \item
-    Depuis la rentrée 2013, les étudiants possèdent automatiquement et
-    par défaut un projet s'appelant «~Projet de \emph{prénom nom}~»
-  \item
-    Il est conseillé de laisser ce projet \textbf{inutilisé} et de se
-    créer des sous-projets pour chaque nouveau projet à gérer
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Informations générales}
-  \framesubtitle{Création des projets Redmine}
-  \begin{itemize}
-  \item
-    Cliquer sur «~Nouveau sous-projet~» (en haut à droite)
-  \item
-    Saisir les informations demandées, et en particulier
-    \begin{itemize}
-    \item
-      le \emph{nom} du projet : titre libre (concis autant que possible)
-    \item
-      l'\emph{identifiant} : doit être \textbf{unique} sur Redmine,
-      en considérant \textbf{tous} les projets de \textbf{tous} les
-      étudiants\\
-      $\to$ utiliser son login en préfixe, à des fins de lisibilité et
-      d'organisation (ex : \ex{dosch-\emph{nom\_projet}})
-    \end{itemize}
-  \item
-    Ajouter ensuite les autres membres du projet (s'il y en a) en
-    cliquant sur \emph{Configuration / Membres} en leur attribuant
-    le rôle «~développeur~»
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Informations générales}
-  \framesubtitle{Création des projets Redmine}
-  \begin{itemize}
-  \item
-    Utiliser cette procédure pour se créer un projet correspondant au
-    projet tuteuré à l'initiative \textbf{d'un seul} des membres du
-    groupe
-    \begin{itemize}
-    \item
-      création du projet Redmine sur son compte Redmine
-    \item
-      ajout des autres membres du groupe
-    \item
-      communication des informations relatives au projet aux autres
-      membres du projet tuteuré
-    \end{itemize}
-  \item
-    Il est naturellement possible de se créer d'autres projets Redmine
-    pour gérer d'autres projets que le projet tuteuré
-  \item
-    Il est même possible de se créer des projets à usage purement
-    personnels : permet la sauvegarde et le \emph{versionning}
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Première connexion au serveur}
-  \begin{itemize}
-  \item
-    S'assurer d'avoir une clé SSH
-  \item
-    Se connecter une première fois sur le serveur Redmine
-  \item
-    Saisir ses informations personnelles
-  \item
-    Y importer sa ou ses clés publiques
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Gestion des projets}
-  \begin{itemize}
-  \item
-    Chaque projet tuteuré doit être géré par un projet Redmine
-    comprenant
-    \begin{itemize}
-    \item
-      un journal des événements du projet
-    \item
-      un outil de gestion de tickets (gestion des bugs,
-      fonctionnalités à implanter, répartition des rôles...)
-    \item
-      un porte-documents (pour y déposer de la documentation externe)
-    \item
-      un wiki (pour y gérer la documentation interne)
-    \item
-      ...et un dépôt git !
-    \end{itemize}
-  \item
-    Les projets Redmine sont à créer à l'initiative d'un des membres
-    du projet tuteuré (voir précédemment)
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Accès à un dépôt Git sous Redmine}
-  \begin{itemize}
-  \item
-    Les dépôts Git sont accessibles \emph{via} SSH à\\
-    \ex{git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
-    où \ex{\emph{idprojet}} est l'identifiant du projet sous Redmine
-  \item
-    Aucun \emph{login} n'est donc nécessaire, l'authentification se
-    fait grâce à la clé SSH...
-  \item
-    Un premier utilisateur devra configurer le dépôt
-  \item
-    L'initialisation faite, les autres utilisateurs pourront cloner le
-    projet
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Communication avec un dépôt Git sous Redmine}
-  \begin{itemize}
-  \item
-    Le premier utilisateur doit
-    \begin{enumerate}
-    \item
-      créer un dépôt local Git et y faire au moins un \emph{commit}\\
-      \ex{cd projet}\\
-      \ex{git init}\\
-      \ex{git add .}\\
-      \ex{git commit -m "Premier commit"}
-    \item
-      le propager vers le dépôt Git sous Redmine\\
-      {\fontsize{2.5mm}{1em}\selectfont \ex{git remote add origin
-        git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}}\\
-      \ex{git push -u origin master}
-    \end{enumerate}
-  \item
-    Les autres membres ont juste besoin de cloner le dépôt\\
-    \ex{\fontsize{3mm}{1em}\selectfont git clone
-      git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Utilisation de Git dans le cadre du projet}
-  \begin{itemize}
-  \item
-    Git est utilisable
-    \begin{itemize}
-    \item
-      en ligne de commande
-    \item
-      intégré aux menus systèmes (sous Windows)
-    \item
-      sous Emacs ($\geq$ 24.3) avec l'excellent package \ex{magit}
-    \item
-      \emph{via} les IDE traditionnels (Eclipse, Netbeans, Xcode...)
-    \end{itemize}
-  \item
-    Sous Eclipse
-    \begin{itemize}
-    \item
-      Git est accessible \emph{via} le plugin Egit
-    \item
-      les commandes les plus courantes sont alors disponibles dans des
-      menus tels que
-      \begin{itemize}
-      \item
-        Team
-      \item
-        Compare with
-      \item
-        Replace with
-      \end{itemize}
-    \end{itemize}
-  \end{itemize}
-}
-
-%======================================================================
-
-% \frame{\frametitle{Redmine IUT}
-%   \begin{itemize}
-%   \item
-%     Création d'un nouveau sous-projet
-%     \begin{enumerate}
-%     \item
-%       Depuis l'interface Web, création d'un nouveau sous-projet
-%     \item
-%       Depuis éclipse, création d'une nouvelle application ou
-%       positionnement sur une application existante à raccorder au
-%       projet Redmine
-%     \item
-%       Click droit sur le projet, choisir l'entrée \emph{Team} et
-%       \emph{Share project...}
-%     \item
-%       Choisir un projet de type git
-%     \item
-%       Choisir la case à cocher «~Use ou create repository in parent
-%       folder of project~»
-%     \item
-%       Cliquer sur le bouton «~Create repository~», permetant de créer
-%       le dépôt à la racine du projet, en dépit de l'avertissement
-%       recommandant de ne pas le faire
-%     \item
-%       Ajouter un fichier \ex{.gitignore}.
-%       En première approche, ce fichier peut contenir les lignes
-%       suivantes :
-%       %\mylistinginput{.gitignore.sample}
-%     \item
-%       Faire un premier commit : dans un premier temps, sélectionner
-%       tous les fichiers proposés (22 \emph{a priori})
-%     \item 
-%       Aller dans le menu contextuel, entrée \ex{Team / Remote / Push}
-%     \item
-%       Dans la boîte de dialogue,
-%       \ex{git@webetu.iuta.univ-nancy2.fr:xxx}, où \ex{xxx} correspond
-%       à l'identifiant du projet précédemment créé sous Redmine
-%     \item
-%       Sauf que les deux items ci-dessus ne fonctionnent pas.
-%       À la place; taper en ligne de commande\\
-%       \ex{git remote add hwa git@webetu.iuta.univ-nancy2.fr:hwa}\\
-%       \ex{git push hwa master}
-%     \item
-%       Les push suivants peuvent être réalisés en passant par le menu
-%       contextuel, en choisissant \ex{Team / Remote / Push} (cocher la
-%       case \emph{Save specifications in specification} la première
-%       fois)
-%     % \item
-%     %   Pas encore le top : rien n'est sauvegardé pour des manipulations
-%     %   en ligne de commande. Il faut soit trouver le moyen de gérer
-%     %   tout ça depuis eclipse, le mieux surtout si on est Windows, soit
-%     %   initier quelque chose en ligne de commande qui sera récupéré
-%     %   ensuite depuis eclipse
-%     \end{enumerate}
-%   \end{itemize}
-% }
+\input{ssh}
+\input{redmineiut}
+\input{github}
 
 %======================================================================
 
diff --git a/github.tex b/github.tex
new file mode 100644
index 0000000..bb5237c
--- /dev/null
+++ b/github.tex
@@ -0,0 +1,65 @@
+%======================================================================
+
+\section{Gérer un dépôt Git sur github}
+
+%======================================================================
+
+\frame{\frametitle{Inscription et configuration}
+  \begin{itemize}
+  \item
+    \emph{Github} : \url{https://github.com/}
+  \item
+    Inscription : choisir un compte gratuit
+  \item
+    Ajouter sa clé SSH  publique en passant par l'icône \emph{Account
+      settings}
+  \item
+    Au besoin, la créer
+    \begin{itemize}
+    \item
+      sous Linux :  les indications sont fournies par Github
+    \item 
+      sous Windows : utiliser puttygen
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Configuration}
+  \begin{itemize}
+  \item
+    À l'initiative d'une seule personne, le créateur du projet
+  \item
+    Création d'un dépôt public avec un simple nom
+  \item
+    Suivre les indications fournies par le site !
+  \item
+    Effectuer la configuration globale sur votre machine (si non déjà
+    effectuée)
+  \item
+    Réaliser les étapes d'initialisation du dépôt décrites
+  \item
+    Le dépôt est créé (vérifier sous Github)
+  \item
+    Ajouter les collaborateurs (\emph{Admin\,/\, collaborators}) 
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Rallier un projet existant}
+  \begin{itemize}
+  \item
+    Recommandé, y compris pour le créateur du projet
+  \item
+    Aller sur la page consacrée au projet
+  \item
+    Choisir le protocole SSH parmi ceux proposés
+  \item
+    Copier l'URL associée
+  \item
+    Taper\\
+    \mygit{git clone git@github.com:dosch/test.git}{gitclone.txt}
+  \end{itemize}
+}
diff --git a/gitiut.tex b/gitiut.tex
new file mode 100644
index 0000000..79d8606
--- /dev/null
+++ b/gitiut.tex
@@ -0,0 +1,93 @@
+%======================================================================
+
+\section{Authentification SSH}
+
+%======================================================================
+
+\frame{\frametitle{Problématique}
+  \begin{itemize}
+  \item
+    De nombreux serveurs Git utilisent une authentification par clés
+    publiques SSH
+  \item
+    Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
+    contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
+    existe déjà~!
+  \item
+    Sinon, il faut en générer une pour pouvoir communiquer avec les
+    serveurs...
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Génération de clé SSH RSA}
+  \begin{itemize}
+  \item
+    Pour générer une clé, utiliser \ex{ssh-keygen}
+    \begin{itemize}
+    \item
+      sous Linux : en standard dans le package \ex{openssh-client}
+    \item
+      sous Windows : installer MSysGit
+    \item
+      sous Mac : en standard dans MacOS
+    \end{itemize}
+  \item
+    Lors de la génération, une \emph{passphrase} est demandée
+    \begin{itemize}
+    \item
+      c'est une sorte de mot de passe (ne pas reprendre le mot de
+      passe de connexion)
+    \item
+      cette \emph{passphrase} sera demandée lors des connexions SSH
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Utilisation d'une clé SSH}
+  \begin{itemize}
+  \item
+    Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
+    nécessaire d'y déposer sa clé publique (le contenu du fichier
+    \ex{id\_rsa.pub})
+  \item
+    Les serveurs proposent généralement d'effectuer ce dépôt
+    \emph{via} une interface Web
+  \item
+    À chaque connexion SSH, la \emph{passphrase} sera demandée
+  \item
+    Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
+    \ex{ssh-agent}
+    \begin{itemize}
+    \item
+      sous Linux et Mac : en tapant \ex{ssh-add}
+    \item
+      sous Windows : voir
+      \url{https://help.github.com/articles/working-with-ssh-key-passphrases}
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Clé SSH et multi-comptes}
+  \begin{itemize}
+  \item
+    Lorsqu'on est susceptible de se connecter depuis plusieurs
+    ordinateurs (ou OS) à un serveur Git, plusieurs solutions
+    \begin{itemize}
+    \item
+      générer une clé SSH sur chacun de ses comptes et importer chaque
+      clé publique sur le serveur
+    \item
+      générer une clé SSH sur le premier compte, la copier sur les
+      autres comptes et importer la partie publique sur le serveur
+    \end{itemize}
+  \item
+    Il peut être sain de travailler avec plusieurs clés SSH et ainsi
+    ne pas mettre tous ses \oe{}ufs dans le même panier...
+  \end{itemize}
+}
diff --git a/redmineiut.tex b/redmineiut.tex
new file mode 100644
index 0000000..53beb75
--- /dev/null
+++ b/redmineiut.tex
@@ -0,0 +1,272 @@
+%======================================================================
+
+\section{Gérer un projet sur Redmine (IUT)}
+
+%======================================================================
+
+\frame{\frametitle{Informations générales}
+  \begin{itemize}
+  \item
+    Adresse du serveur, accessible également depuis l'extérieur\\
+    \url{https://redmine.iutnc.univ-lorraine.fr}
+  \item
+    Tous les projets doivent être gérés et rendus sur ce serveur
+  \item
+    Les tuteurs s'y rendront donc pour les récupérer...
+  \item
+    Il est nécessaire de s'y connecter \textbf{rapidement} une
+    première fois pour y rentrer ses informations personnelles
+  \item
+    Cette étape est \textbf{nécessaire} pour que les projets tuteurés
+    puissent être complètement créés et renseignés sur Redmine
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Informations générales}
+  \framesubtitle{Gestion des projets Redmine}
+  \begin{itemize}
+  \item
+    Depuis la rentrée 2013, les étudiants possèdent automatiquement et
+    par défaut un projet s'appelant «~Projet de \emph{prénom nom}~»
+  \item
+    Il est conseillé de laisser ce projet \textbf{inutilisé} et de se
+    créer des sous-projets pour chaque nouveau projet à gérer
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Informations générales}
+  \framesubtitle{Création des projets Redmine}
+  \begin{itemize}
+  \item
+    Cliquer sur «~Nouveau sous-projet~» (en haut à droite)
+  \item
+    Saisir les informations demandées, et en particulier
+    \begin{itemize}
+    \item
+      le \emph{nom} du projet : titre libre (concis autant que possible)
+    \item
+      l'\emph{identifiant} : doit être \textbf{unique} sur Redmine,
+      en considérant \textbf{tous} les projets de \textbf{tous} les
+      étudiants\\
+      $\to$ utiliser son login en préfixe, à des fins de lisibilité et
+      d'organisation (ex : \ex{dosch-\emph{nom\_projet}})
+    \end{itemize}
+  \item
+    Ajouter ensuite les autres membres du projet (s'il y en a) en
+    cliquant sur \emph{Configuration / Membres} en leur attribuant
+    le rôle «~développeur~»
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Informations générales}
+  \framesubtitle{Création des projets Redmine}
+  \begin{itemize}
+  \item
+    Utiliser cette procédure pour se créer un projet correspondant au
+    projet tuteuré à l'initiative \textbf{d'un seul} des membres du
+    groupe
+    \begin{itemize}
+    \item
+      création du projet Redmine sur son compte Redmine
+    \item
+      ajout des autres membres du groupe
+    \item
+      communication des informations relatives au projet aux autres
+      membres du projet tuteuré
+    \end{itemize}
+  \item
+    Il est naturellement possible de se créer d'autres projets Redmine
+    pour gérer d'autres projets que le projet tuteuré
+  \item
+    Il est même possible de se créer des projets à usage purement
+    personnels : permet la sauvegarde et le \emph{versionning}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Première connexion au serveur}
+  \begin{itemize}
+  \item
+    S'assurer d'avoir une clé SSH
+  \item
+    Se connecter une première fois sur le serveur Redmine
+  \item
+    Saisir ses informations personnelles
+  \item
+    Y importer sa ou ses clés publiques
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Gestion des projets}
+  \begin{itemize}
+  \item
+    Chaque projet tuteuré doit être géré par un projet Redmine
+    comprenant
+    \begin{itemize}
+    \item
+      un journal des événements du projet
+    \item
+      un outil de gestion de tickets (gestion des bugs,
+      fonctionnalités à implanter, répartition des rôles...)
+    \item
+      un porte-documents (pour y déposer de la documentation externe)
+    \item
+      un wiki (pour y gérer la documentation interne)
+    \item
+      ...et un dépôt git !
+    \end{itemize}
+  \item
+    Les projets Redmine sont à créer à l'initiative d'un des membres
+    du projet tuteuré (voir précédemment)
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Accès à un dépôt Git sous Redmine}
+  \begin{itemize}
+  \item
+    Les dépôts Git sont accessibles \emph{via} SSH à\\
+    \ex{git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
+    où \ex{\emph{idprojet}} est l'identifiant du projet sous Redmine
+  \item
+    Aucun \emph{login} n'est donc nécessaire, l'authentification se
+    fait grâce à la clé SSH...
+  \item
+    Un premier utilisateur devra configurer le dépôt
+  \item
+    L'initialisation faite, les autres utilisateurs pourront cloner le
+    projet
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Communication avec un dépôt Git sous Redmine}
+  \begin{itemize}
+  \item
+    Le premier utilisateur doit
+    \begin{enumerate}
+    \item
+      créer un dépôt local Git et y faire au moins un \emph{commit}\\
+      \ex{cd projet}\\
+      \ex{git init}\\
+      \ex{git add .}\\
+      \ex{git commit -m "Premier commit"}
+    \item
+      le propager vers le dépôt Git sous Redmine\\
+      {\fontsize{2.5mm}{1em}\selectfont \ex{git remote add origin
+        git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}}\\
+      \ex{git push -u origin master}
+    \end{enumerate}
+  \item
+    Les autres membres ont juste besoin de cloner le dépôt\\
+    \ex{\fontsize{3mm}{1em}\selectfont git clone
+      git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Utilisation de Git dans le cadre du projet}
+  \begin{itemize}
+  \item
+    Git est utilisable
+    \begin{itemize}
+    \item
+      en ligne de commande
+    \item
+      intégré aux menus systèmes (sous Windows)
+    \item
+      sous Emacs ($\geq$ 24.3) avec l'excellent package \ex{magit}
+    \item
+      \emph{via} les IDE traditionnels (Eclipse, Netbeans, Xcode...)
+    \end{itemize}
+  \item
+    Sous Eclipse
+    \begin{itemize}
+    \item
+      Git est accessible \emph{via} le plugin Egit
+    \item
+      les commandes les plus courantes sont alors disponibles dans des
+      menus tels que
+      \begin{itemize}
+      \item
+        Team
+      \item
+        Compare with
+      \item
+        Replace with
+      \end{itemize}
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+% \frame{\frametitle{Redmine IUT}
+%   \begin{itemize}
+%   \item
+%     Création d'un nouveau sous-projet
+%     \begin{enumerate}
+%     \item
+%       Depuis l'interface Web, création d'un nouveau sous-projet
+%     \item
+%       Depuis éclipse, création d'une nouvelle application ou
+%       positionnement sur une application existante à raccorder au
+%       projet Redmine
+%     \item
+%       Click droit sur le projet, choisir l'entrée \emph{Team} et
+%       \emph{Share project...}
+%     \item
+%       Choisir un projet de type git
+%     \item
+%       Choisir la case à cocher «~Use ou create repository in parent
+%       folder of project~»
+%     \item
+%       Cliquer sur le bouton «~Create repository~», permetant de créer
+%       le dépôt à la racine du projet, en dépit de l'avertissement
+%       recommandant de ne pas le faire
+%     \item
+%       Ajouter un fichier \ex{.gitignore}.
+%       En première approche, ce fichier peut contenir les lignes
+%       suivantes :
+%       %\mylistinginput{.gitignore.sample}
+%     \item
+%       Faire un premier commit : dans un premier temps, sélectionner
+%       tous les fichiers proposés (22 \emph{a priori})
+%     \item 
+%       Aller dans le menu contextuel, entrée \ex{Team / Remote / Push}
+%     \item
+%       Dans la boîte de dialogue,
+%       \ex{git@webetu.iuta.univ-nancy2.fr:xxx}, où \ex{xxx} correspond
+%       à l'identifiant du projet précédemment créé sous Redmine
+%     \item
+%       Sauf que les deux items ci-dessus ne fonctionnent pas.
+%       À la place; taper en ligne de commande\\
+%       \ex{git remote add hwa git@webetu.iuta.univ-nancy2.fr:hwa}\\
+%       \ex{git push hwa master}
+%     \item
+%       Les push suivants peuvent être réalisés en passant par le menu
+%       contextuel, en choisissant \ex{Team / Remote / Push} (cocher la
+%       case \emph{Save specifications in specification} la première
+%       fois)
+%     % \item
+%     %   Pas encore le top : rien n'est sauvegardé pour des manipulations
+%     %   en ligne de commande. Il faut soit trouver le moyen de gérer
+%     %   tout ça depuis eclipse, le mieux surtout si on est Windows, soit
+%     %   initier quelque chose en ligne de commande qui sera récupéré
+%     %   ensuite depuis eclipse
+%     \end{enumerate}
+%   \end{itemize}
+% }
+
diff --git a/ssh.tex b/ssh.tex
new file mode 100644
index 0000000..e06f98f
--- /dev/null
+++ b/ssh.tex
@@ -0,0 +1,97 @@
+%======================================================================
+
+\section{Authentification SSH}
+
+%======================================================================
+
+\frame{\frametitle{Problématique}
+  \begin{itemize}
+  \item
+    De nombreux serveurs Git utilisent une authentification par clés
+    publiques SSH
+  \item
+    Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
+    contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
+    existe déjà~!
+  \item
+    Sinon, il faut en générer une pour pouvoir communiquer avec les
+    serveurs...
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Génération de clé SSH RSA}
+  \begin{itemize}
+  \item
+    Pour générer une clé, utiliser \ex{ssh-keygen}
+    \begin{itemize}
+    \item
+      sous Linux : en standard dans le package \ex{openssh-client}
+    \item
+      sous Windows : installer MSysGit
+    \item
+      sous Mac : en standard dans MacOS
+    \end{itemize}
+  \item
+    Lors de la génération, le choix d'une \emph{passphrase} est
+    demandé
+    \begin{itemize}
+    \item
+      c'est fondamentalement un mot de passe
+    \item
+      un mot de passe fait généralement entre 6 et 8 caractères, là où
+      une \emph{passphrase} fait plutôt entre 20 et 30 caractères
+    \item
+      cette \emph{passphrase} sera demandée lors des connexions SSH,
+      c'est-à-dire pour chaque opération impliquant un dépôt distant
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Utilisation d'une clé SSH}
+  \begin{itemize}
+  \item
+    Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
+    nécessaire d'y déposer sa clé publique (le contenu du fichier
+    \ex{id\_rsa.pub})
+  \item
+    Les serveurs proposent généralement d'effectuer ce dépôt
+    \emph{via} une interface Web
+  \item
+    À chaque connexion SSH, la \emph{passphrase} sera demandée
+  \item
+    Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
+    \ex{ssh-agent}
+    \begin{itemize}
+    \item
+      sous Linux et Mac : en tapant \ex{ssh-add}
+    \item
+      sous Windows : voir
+      \url{https://help.github.com/articles/working-with-ssh-key-passphrases}
+    \end{itemize}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Clé SSH et multi-comptes}
+  \begin{itemize}
+  \item
+    Lorsqu'on est susceptible de se connecter depuis plusieurs
+    ordinateurs (ou OS) à un serveur Git, plusieurs solutions
+    \begin{itemize}
+    \item
+      générer une clé SSH sur chacun de ses comptes et importer chaque
+      clé publique sur le serveur
+    \item
+      générer une clé SSH sur le premier compte, la copier sur les
+      autres comptes et importer la partie publique sur le serveur
+    \end{itemize}
+  \item
+    Il peut être sain de travailler avec plusieurs clés SSH et ainsi
+    ne pas mettre tous ses \oe{}ufs dans le même panier...
+  \end{itemize}
+}
-- 
GitLab