% $Id$
\documentclass[notes]{beamer}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage{moreverb}
\usepackage{graphicx}

\mode<presentation>
{
  \definecolor{beamerstructure}{RGB}{143,79,112}
  \definecolor{sidebackground}{RGB}{230,242,250}
  \color{beamerstructure}
  \usetheme[secheader]{Madrid}
  \usepackage{times}
  \userightsidebarcolortemplate{\color{sidebackground}}
  \beamertemplateballitem
}

\AtBeginSection[]
{
\begin{frame}<beamer>
    \frametitle{Plan}
    \tableofcontents[currentsection,hideothersubsections]
\end{frame}
}

\title{Forge}
\subtitle{Suivi de code}
\author{Olivier Thauvin}
\date{\today}

\begin{document}

\frame{\titlepage}

\begin{frame}
\tableofcontents[hideallsubsections]
\end{frame}

\section{Généralité}

\begin{frame}[fragile]
\begin{block}{Les besoins:}
\begin{itemize}
\item gerer les comptes des developeurs
\pause
\item gérer la documentation
\pause
\item fournir le code aux utilisateurs
\pause
\item gérer les bogues (rapport et leur correction)
\pause
\item gérer les évolutions du code
\end{itemize}
\end{block}
\pause
\vfill

\begin{block}{type de projets}
\begin{itemize}
\item programmes \textit{(C, Fortran, Perl, python)}
\item site web
\item documentations
\end{itemize}
\pause

Cette présentation en \LaTeX:
\verb$Id$
\end{block}

\end{frame}

\begin{frame}
\frametitle{Détails}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}

\subsection{Versionnement de code}

\begin{frame}
\frametitle{Versionner: Définition}
\begin{block}{suivi}
\begin{itemize}
    \item trace des changement: personne, horodatage, commentaires
    \item gestion de plusieurs variantes du code
    \item point de reprise
    \item annulation facile en cas d'erreurs
\end{itemize}
\end{block}
\pause
\vfill
\begin{block}{partage}
    \begin{itemize}
    \item travail à plusieurs personnes
    \item travail depuis plusieurs ordinateurs
    \end{itemize}
\end{block}
\pause
\vfill
\begin{block}{sauvegarde:}
    \begin{itemize}
    \item tout le code est sur le serveur
    \end{itemize}
\end{block}
\end{frame}

\begin{frame}
\frametitle{Exemple de \og{}Revision Control System\fg{}}
\begin{block}{Les plus connus}
\begin{itemize}
\item \bf{Subversion}
\item git
\item cvs, rcs (obsolètes)
\end{itemize}
\end{block}
\vfill
\begin{block}{Quelques autres\ldots}
\begin{itemize}
\item darcs
\item bzr
\item mercurial
\item \ldots
\end{itemize}
\end{block}
\end{frame}

\subsection{Communication}

\begin{frame}
\frametitle{Type de communications}
\begin{block}{Pourquoi?}
\begin{itemize}
\item documentation
\item support
\item discussion interne
\item annonces
\end{itemize}
\end{block}
\vfill
\begin{block}{Qui?}
\begin{itemize}
\item $developeurs \Rightarrow developeurs$
\item $developeurs \Rightarrow utilisateurs$
\item $developeurs \Leftrightarrow utilisateurs$
\item $utilisateurs \Rightarrow utilisateurs$
\end{itemize}
\end{block}
\end{frame}

\begin{frame}
\frametitle{Outils}
\begin{block}{Outils}
\begin{itemize}
\item Listes de diffusion
\item Wiki
\item Messagerie instantannée (Jabber, Irc)
\item Forums
\item Blog
\end{itemize}
\end{block}
\end{frame}

\subsection{Gestion d'incidents}

\begin{frame}
\frametitle{\og{}Bug tracker\fg{}}
\begin{block}{But}
\begin{itemize}
\item remonter un problème, une demande
\item discuter dessus, commter, ajouter des information
\item affecter la tache à quelqu'un
\item chercher les problèmes existant
\item noter leur résolution (ou non résolution)
\end{itemize}
\end{block}
\vfill
\begin{block}{Exemple d'outils}
\begin{itemize}
\item bugzilla
\item mantis
\item Launchpad
\end{itemize}
\end{block}
\end{frame}

%%\subsection{Feuilles de route}

\subsection{Distribuer le code}

\begin{frame}[fragile]
\frametitle{Distribuer le code}
\begin{block}{Utilisateurs}
\begin{itemize}
\item sous forme d'archive (\verb+tar.gz+, \verb+.zip+, \ldots)
\item par \verb+ftp+, \verb+http+, \ldots
\end{itemize}
\end{block}
\vfill
\begin{block}{Developeurs, testeurs et contributeurs:}
Accès au gestionnaire de code:
\begin{itemize}
\item anonymement
\item en lecture seule
\end{itemize}
\end{block}
\end{frame}

\section{Forge.Ipsl.jussieu.fr}

\subsection{Services fournis}

\subsubsection{Gestionnaire de versionnement}

\begin{frame}
\frametitle{Subversion}
\begin{block}{Subversion}
\begin{itemize}
\item simple
\item proche de CVS
\item administration réduite
\item fiable
\end{itemize}
\end{block}

\begin{block}{Autres VCS}
\begin{itemize}
\item cvs
\item darcs
\item git
\item tla-arch
\item \ldots
\end{itemize}
\end{block}
\end{frame}

\subsubsection{Outils divers}

\begin{frame}
\frametitle{Liste de diffusion: Mailman}
\begin{block}{Pourquoi Mailman}
\begin{itemize}
\item simple
\item peu de maintenance
\item configurable
\end{itemize}
\end{block}
\begin{exampleblock}{Exemple d'utilisation:}
Envois des commits sur une liste.
\end{exampleblock}
\end{frame}


\begin{frame}
\frametitle{ViewVC}
\begin{block}{Role:}
Naviguer dans le dépot de code via le web
\end{block}
\begin{exampleblock}{ViewVC}
\center{
\includegraphics[width=0.7\linewidth]{viewcvs}
}
\end{exampleblock}
\end{frame}



\begin{frame}
\frametitle{Trac}
\begin{block}{Résumé}
\begin{itemize}
\item application Web
\item gestion de code informatique
\end{itemize}
\end{block}

\vfill
\begin{block}{Fourni:}
\begin{itemize}
\item un wiki
\item un agenda
\item navigation dans le code
\item gestion des incidents/bogues
\end{itemize}
\end{block}
\end{frame}

\begin{frame}
\frametitle{Trac}
\begin{exampleblock}{Trac: Wiki}
\center{
\includegraphics[width=0.8\linewidth]{trac-wiki}
}
\end{exampleblock}
\end{frame}

\begin{frame}
\frametitle{Trac}
\begin{exampleblock}{Trac: Navigation dans le code}
\center{
\includegraphics[width=0.8\linewidth]{trac-browser}
}
\end{exampleblock}
\end{frame}

\begin{frame}
\frametitle{Trac}
\begin{exampleblock}{Trac: Tickets}
\center{
\includegraphics[width=0.8\linewidth]{trac-ticket}
}
\end{exampleblock}
\end{frame}

\subsection{Sécurité}

\begin{frame}
\frametitle{Sécurité}
\begin{block}{Assurance vie}
\begin{itemize}
\item ordinateur garantie 5 ans sur site
\item disques durs en redondances
\item 2 backups: IPSL et CCR
\end{itemize}
\end{block}
\end{frame}

\section*{Fin}

\begin{frame}
\frametitle{Reférences et questions}
\begin{block}{}
\begin{itemize}
\item \href{http://forge.ipsl.jussieu.fr/}{http://forge.ipsl.jussieu.fr/}:
  page principale

\item \href{http://forge.ipsl.jussieu.fr/forge}{http://forge.ipsl.jussieu.fr/forge}:
  la documentation
\end{itemize}
\end{block}
\pause
\vfill
\begin{block}{}
\huge{Questions ?}
\end{block}
\end{frame}

\end{document}
