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