From 1835ed3b4b8e40aab3a926c9e21ed449fdd0b2e1 Mon Sep 17 00:00:00 2001 From: Philippe Dosch <Philippe.Dosch@loria.fr> Date: Mon, 15 Nov 2021 21:09:20 +0100 Subject: [PATCH] =?UTF-8?q?Adaptation=20au=20format=20de=20la=20journ?= =?UTF-8?q?=C3=A9e=20(et=20du=20public)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intro.tex | 176 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 111 insertions(+), 65 deletions(-) diff --git a/intro.tex b/intro.tex index 0a66ab5..c0c2174 100644 --- a/intro.tex +++ b/intro.tex @@ -7,7 +7,7 @@ \frame{\frametitle{Problématiques générales} \begin{itemize} \item - Comment gérer l'\impt{historique des fichiers sources} d'un + Comment gérer l'\impt{historique des fichiers} d'un projet~? \begin{itemize} \item @@ -24,8 +24,7 @@ version 1, version 2... : une version est un ensemble de fichiers dans un état donné \item - développements parallèles : version stable, de correction de - bugs, d'ajout de fonctionnalités... + développements parallèles : version stable, alternatives \end{itemize} \end{itemize} } @@ -35,11 +34,11 @@ \frame{\frametitle{Problématiques spécifiques au travail en groupe} \begin{itemize} \item - Comment \impt{partager} du code source ? + Comment \impt{partager} des données ? \item - Comment travailler \impt{à plusieurs} sur des sources ? + Comment travailler \impt{à plusieurs} sur des données ? \item - Comment travailler \impt{au même moment} sur des sources ? + Comment travailler \impt{au même moment} sur des données ? \item Comment \impt{réconcilier les changements} de contributeurs ? \item @@ -49,7 +48,7 @@ %====================================================================== -\frame{\frametitle{La solution : les systèmes de gestion de version (VCS)} +\frame{\frametitle{Une solution : les systèmes de gestion de version (VCS)} Ensemble de méthodes et d'outils qui maintiennent les différentes versions d'un projet à travers tous les fichiers qui le composent \begin{itemize} @@ -58,39 +57,107 @@ \item permet de garder tout l'\impt{historique} de tous les fichiers \item - permet le \impt{développement parallèle} : version stable, de - développement, introduction de fonctionnalités, correction de - bugs... + permet le \impt{développement parallèle} : version principale, + versions alternatives \item - permet de savoir pourquoi, quand et par qui une portion spécifique - de code a été introduite + permet de savoir pourquoi, quand et par qui une modification a été + introduite \end{itemize} } %====================================================================== -\frame{\frametitle{Systèmes de gestion de version centralisés (CVCS)} - \begin{center} - \includegraphics[height=2.5cm]{centralise.eps} - \end{center} +% \frame{\frametitle{Systèmes de gestion de version centralisés (CVCS)} +% \begin{center} +% \includegraphics[height=2.5cm]{centralise.eps} +% \end{center} +% \begin{itemize} +% \item +% Le serveur détient tout l'historique du projet +% \item +% Les utilisateurs possèdent seulement une copie des fichiers +% correspondant au code +% \item +% Toutes les opérations sont réalisées par l'intermédiaire du +% serveur (\emph{i.e. online}) +% \item +% Les échanges de code sont obligatoirement effectués grâce au +% serveur +% \end{itemize} +% } + +% %====================================================================== + +% \frame{\frametitle{Systèmes de gestion de version décentralisés (DVCS)} +% \begin{center} +% \includegraphics[height=2.5cm]{distribue.eps} +% \end{center} +% \begin{itemize} +% \item +% Chaque utilisateur possède un \emph{dépôt} local complet, +% contenant tout l'historique du projet +% \item +% Les opérations sont réalisées localement (\emph{i.e. offline}) +% \item +% Des serveurs \emph{peuvent} assurer les échanges de code +% \item +% Du code \emph{peut} aussi être échangé avec d'autres utilisateurs +% sans serveur centralisé (SSH ou mail typiquement) +% \end{itemize} +% } + +% %====================================================================== + +% \frame{\frametitle{Historique des systèmes de gestion de version} +% \begin{itemize} +% \item +% Systèmes de gestion de version \emph{centralisés} +% \begin{itemize} +% \item +% CVS (\emph{Concurrent Versions System}), 1990 +% \item +% SVN (\emph{Subversion}), 2004 +% \end{itemize} +% \item +% Systèmes de gestion de version \emph{décentralisés} +% \begin{itemize} +% \item +% BitKeeper, 1998 +% \item +% Bazaar, 2005 (en cours d'abandon maintenant ?) +% \item +% Mercurial, 2005 +% \item +% \textbf{Git}, 2005 +% \item +% et d'autres : GNU Arch, Monotone, Darcs... +% \end{itemize} +% \end{itemize} +% } + +% %====================================================================== + +\frame{\frametitle{Git} \begin{itemize} \item - Le serveur détient tout l'historique du projet - \item - Les utilisateurs possèdent seulement une copie des fichiers - correspondant au code + Créé en 2005 par Linus Torvalds pour la gestion des sources de + Linux, dont il est également le créateur \item - Toutes les opérations sont réalisées par l'intermédiaire du - serveur (\emph{i.e. online}) + Intensivement utilisé depuis pour les développements logiciels, + popularisé par des sites et outils comme Github, Bitbucket, + Gitlab... \item - Les échanges de code sont obligatoirement effectués grâce au - serveur + Particulièrement sophistiqué sur les données de type texte (au + sens informatique du terme) + \item + Également utilisé pour des données \emph{binaires} (images, PDF, + documents «~office~», \emph{etc}.) \end{itemize} } -%====================================================================== +% %====================================================================== -\frame{\frametitle{Systèmes de gestion de version décentralisés (DVCS)} +\frame{\frametitle{Principe général de fonctionnement} \begin{center} \includegraphics[height=2.5cm]{distribue.eps} \end{center} @@ -101,55 +168,34 @@ \item Les opérations sont réalisées localement (\emph{i.e. offline}) \item - Des serveurs \emph{peuvent} assurer les échanges de code + Des serveurs \emph{peuvent} assurer les échanges de données \item - Du code \emph{peut} aussi être échangé avec d'autres utilisateurs - sans serveur centralisé (SSH ou mail typiquement) + Des données \emph{peuvent} aussi être échangées avec d'autres + utilisateurs sans serveur centralisé \end{itemize} } -%====================================================================== +% %====================================================================== -\frame{\frametitle{Historique des systèmes de gestion de version} +\frame{\frametitle{Dans le cadre de cette journée} \begin{itemize} \item - Systèmes de gestion de version \emph{centralisés} - \begin{itemize} - \item - CVS (\emph{Concurrent Versions System}), 1990 - \item - SVN (\emph{Subversion}), 2004 - \end{itemize} - \item - Systèmes de gestion de version \emph{décentralisés} - \begin{itemize} - \item - BitKeeper, 1998 - \item - Bazaar, 2005 (en cours d'abandon maintenant ?) - \item - Mercurial, 2005 - \item - \textbf{Git}, 2005 - \item - et d'autres : GNU Arch, Monotone, Darcs... - \end{itemize} - \end{itemize} -} - -%====================================================================== - -\frame{\frametitle{Git} - \begin{itemize} + Remarque : restriction du fonctionnement au cas incluant un + serveur \item - Créé en 2005 par Linus Torvalds pour la gestion des sources de - Linux, en remplacement de BitKeeper + Explication des bases sommaires de Git \item - Part de marché parfois estimée à 90\% sur le segment des DVCS - utilisés par la communauté logiciel libre + Utilisation de Git pour l'accès à des données \item - Exemples de projets gérés : Linux (!), Gnome, Eclipse, KDE, X.org, - Qt, Perl, Debian, Android, Facebook, Twitter, Rails, Google... + Création d'un dépôt, raccordement à un serveur + \item + Un peu de collaboration + \item + Configuration et outils + \item + Exemples de serveurs : le Gitlab de l'UL et Github \end{itemize} } +% %====================================================================== + -- GitLab