[226] | 1 | % $Id$ |
---|
| 2 | \documentclass[notes]{beamer} |
---|
| 3 | \usepackage[frenchb]{babel} |
---|
| 4 | \usepackage[T1]{fontenc} |
---|
| 5 | \usepackage{moreverb} |
---|
| 6 | \usepackage{graphicx} |
---|
| 7 | |
---|
| 8 | \mode<presentation> |
---|
| 9 | { |
---|
| 10 | \definecolor{beamerstructure}{RGB}{143,79,112} |
---|
| 11 | \definecolor{sidebackground}{RGB}{230,242,250} |
---|
| 12 | \color{beamerstructure} |
---|
| 13 | \usetheme[secheader]{Madrid} |
---|
| 14 | \usepackage{times} |
---|
| 15 | \userightsidebarcolortemplate{\color{sidebackground}} |
---|
| 16 | \beamertemplateballitem |
---|
| 17 | } |
---|
| 18 | |
---|
| 19 | \AtBeginSection[] |
---|
| 20 | { |
---|
| 21 | \begin{frame}<beamer> |
---|
| 22 | \frametitle{Plan} |
---|
| 23 | \tableofcontents[currentsection,hideothersubsections] |
---|
| 24 | \end{frame} |
---|
| 25 | } |
---|
| 26 | |
---|
| 27 | \title{Forge} |
---|
| 28 | \subtitle{Suivi de code} |
---|
| 29 | \author{Olivier Thauvin} |
---|
| 30 | \date{\today} |
---|
| 31 | |
---|
| 32 | \begin{document} |
---|
| 33 | |
---|
| 34 | \frame{\titlepage} |
---|
| 35 | |
---|
[335] | 36 | \section{Généralité} |
---|
[228] | 37 | |
---|
[335] | 38 | \begin{frame}[fragile] |
---|
| 39 | \begin{block}{Les besoins:} |
---|
| 40 | \begin{itemize} |
---|
[340] | 41 | \item gerer les comptes des developeurs/contributeurs |
---|
[335] | 42 | \pause |
---|
[340] | 43 | \item gérer les évolutions du code |
---|
| 44 | \pause |
---|
[335] | 45 | \item gérer la documentation |
---|
| 46 | \pause |
---|
[340] | 47 | \item gérer les bogues (les rapports et leur corrections) |
---|
| 48 | \pause |
---|
[335] | 49 | \item fournir le code aux utilisateurs |
---|
| 50 | \end{itemize} |
---|
| 51 | \end{block} |
---|
| 52 | \pause |
---|
| 53 | \vfill |
---|
[228] | 54 | |
---|
[335] | 55 | \begin{block}{type de projets} |
---|
| 56 | \begin{itemize} |
---|
| 57 | \item programmes \textit{(C, Fortran, Perl, python)} |
---|
| 58 | \item site web |
---|
| 59 | \item documentations |
---|
[340] | 60 | \item \ldots |
---|
[335] | 61 | \end{itemize} |
---|
| 62 | \pause |
---|
| 63 | |
---|
| 64 | Cette présentation en \LaTeX: |
---|
| 65 | \verb$Id$ |
---|
| 66 | \end{block} |
---|
| 67 | |
---|
| 68 | \end{frame} |
---|
| 69 | |
---|
| 70 | \subsection{Versionnement de code} |
---|
| 71 | |
---|
| 72 | \begin{frame} |
---|
| 73 | \frametitle{Versionner: Définition} |
---|
[340] | 74 | \begin{block}{suivi:} |
---|
[230] | 75 | \begin{itemize} |
---|
| 76 | \item trace des changement: personne, horodatage, commentaires |
---|
| 77 | \item gestion de plusieurs variantes du code |
---|
[340] | 78 | \item points de reprise |
---|
| 79 | \item annulation facile en cas d'erreur |
---|
[230] | 80 | \end{itemize} |
---|
[229] | 81 | \end{block} |
---|
[230] | 82 | \pause |
---|
[229] | 83 | \vfill |
---|
[340] | 84 | \begin{block}{partage:} |
---|
[229] | 85 | \begin{itemize} |
---|
| 86 | \item travail à plusieurs personnes |
---|
| 87 | \item travail depuis plusieurs ordinateurs |
---|
| 88 | \end{itemize} |
---|
| 89 | \end{block} |
---|
[230] | 90 | \pause |
---|
[229] | 91 | \vfill |
---|
[230] | 92 | \begin{block}{sauvegarde:} |
---|
| 93 | \begin{itemize} |
---|
| 94 | \item tout le code est sur le serveur |
---|
| 95 | \end{itemize} |
---|
[229] | 96 | \end{block} |
---|
| 97 | \end{frame} |
---|
| 98 | |
---|
[335] | 99 | \begin{frame} |
---|
| 100 | \frametitle{Exemple de \og{}Revision Control System\fg{}} |
---|
| 101 | \begin{block}{Les plus connus} |
---|
| 102 | \begin{itemize} |
---|
[340] | 103 | \item Subversion |
---|
[335] | 104 | \item git |
---|
| 105 | \item cvs, rcs (obsolètes) |
---|
| 106 | \end{itemize} |
---|
| 107 | \end{block} |
---|
| 108 | \vfill |
---|
| 109 | \begin{block}{Quelques autres\ldots} |
---|
| 110 | \begin{itemize} |
---|
| 111 | \item darcs |
---|
| 112 | \item bzr |
---|
| 113 | \item mercurial |
---|
| 114 | \item \ldots |
---|
| 115 | \end{itemize} |
---|
| 116 | \end{block} |
---|
| 117 | \end{frame} |
---|
[228] | 118 | |
---|
[335] | 119 | \subsection{Communication} |
---|
| 120 | |
---|
| 121 | \begin{frame} |
---|
| 122 | \frametitle{Type de communications} |
---|
[340] | 123 | \begin{block}{Pourquoi communiquer?} |
---|
[229] | 124 | \begin{itemize} |
---|
[335] | 125 | \item documentation |
---|
[340] | 126 | \pause |
---|
[335] | 127 | \item support |
---|
[340] | 128 | \pause |
---|
[335] | 129 | \item discussion interne |
---|
[340] | 130 | \pause |
---|
[335] | 131 | \item annonces |
---|
[229] | 132 | \end{itemize} |
---|
| 133 | \end{block} |
---|
[231] | 134 | \vfill |
---|
[340] | 135 | \pause |
---|
[335] | 136 | \begin{block}{Qui?} |
---|
| 137 | \begin{itemize} |
---|
| 138 | \item $developeurs \Rightarrow developeurs$ |
---|
[340] | 139 | \pause |
---|
[335] | 140 | \item $developeurs \Rightarrow utilisateurs$ |
---|
[340] | 141 | \pause |
---|
[335] | 142 | \item $developeurs \Leftrightarrow utilisateurs$ |
---|
[340] | 143 | \pause |
---|
[335] | 144 | \item $utilisateurs \Rightarrow utilisateurs$ |
---|
| 145 | \end{itemize} |
---|
| 146 | \end{block} |
---|
| 147 | \end{frame} |
---|
[231] | 148 | |
---|
[335] | 149 | \begin{frame} |
---|
| 150 | \frametitle{Outils} |
---|
| 151 | \begin{block}{Outils} |
---|
[231] | 152 | \begin{itemize} |
---|
[335] | 153 | \item Listes de diffusion |
---|
[340] | 154 | \pause |
---|
[335] | 155 | \item Wiki |
---|
[340] | 156 | \pause |
---|
[335] | 157 | \item Messagerie instantannée (Jabber, Irc) |
---|
[340] | 158 | \pause |
---|
[335] | 159 | \item Forums |
---|
[340] | 160 | \pause |
---|
[335] | 161 | \item Blog |
---|
[231] | 162 | \end{itemize} |
---|
[335] | 163 | \end{block} |
---|
| 164 | \end{frame} |
---|
[231] | 165 | |
---|
[335] | 166 | \subsection{Gestion d'incidents} |
---|
| 167 | |
---|
| 168 | \begin{frame} |
---|
| 169 | \frametitle{\og{}Bug tracker\fg{}} |
---|
| 170 | \begin{block}{But} |
---|
| 171 | \begin{itemize} |
---|
| 172 | \item remonter un problème, une demande |
---|
[340] | 173 | \item chercher les problèmes existants, similaire |
---|
| 174 | \pause |
---|
| 175 | \item discuter dessus, commenter, ajouter des informations |
---|
| 176 | \pause |
---|
[335] | 177 | \item affecter la tache à quelqu'un |
---|
| 178 | \item noter leur résolution (ou non résolution) |
---|
| 179 | \end{itemize} |
---|
[231] | 180 | \end{block} |
---|
[340] | 181 | \pause |
---|
[335] | 182 | \vfill |
---|
| 183 | \begin{block}{Exemple d'outils} |
---|
| 184 | \begin{itemize} |
---|
| 185 | \item bugzilla |
---|
| 186 | \item mantis |
---|
| 187 | \item Launchpad |
---|
[340] | 188 | \item \ldots |
---|
[335] | 189 | \end{itemize} |
---|
| 190 | \end{block} |
---|
| 191 | \end{frame} |
---|
[231] | 192 | |
---|
[335] | 193 | %%\subsection{Feuilles de route} |
---|
| 194 | |
---|
| 195 | \subsection{Distribuer le code} |
---|
| 196 | |
---|
| 197 | \begin{frame}[fragile] |
---|
| 198 | \frametitle{Distribuer le code} |
---|
| 199 | \begin{block}{Utilisateurs} |
---|
| 200 | \begin{itemize} |
---|
| 201 | \item sous forme d'archive (\verb+tar.gz+, \verb+.zip+, \ldots) |
---|
| 202 | \item par \verb+ftp+, \verb+http+, \ldots |
---|
| 203 | \end{itemize} |
---|
| 204 | \end{block} |
---|
| 205 | \vfill |
---|
[340] | 206 | \pause |
---|
[335] | 207 | \begin{block}{Developeurs, testeurs et contributeurs:} |
---|
| 208 | Accès au gestionnaire de code: |
---|
| 209 | \begin{itemize} |
---|
| 210 | \item anonymement |
---|
[340] | 211 | \item accès au dépôt de code |
---|
[335] | 212 | \item en lecture seule |
---|
| 213 | \end{itemize} |
---|
| 214 | \end{block} |
---|
[229] | 215 | \end{frame} |
---|
| 216 | |
---|
[335] | 217 | \section{Forge.Ipsl.jussieu.fr} |
---|
[228] | 218 | |
---|
| 219 | \subsection{Services fournis} |
---|
| 220 | |
---|
[336] | 221 | \subsubsection{Gestionnaire de versionnement} |
---|
| 222 | |
---|
[229] | 223 | \begin{frame} |
---|
[340] | 224 | \frametitle{Versionnement} |
---|
[336] | 225 | \begin{block}{Subversion} |
---|
[229] | 226 | \begin{itemize} |
---|
[336] | 227 | \item simple |
---|
| 228 | \item proche de CVS |
---|
| 229 | \item administration réduite |
---|
| 230 | \item fiable |
---|
[229] | 231 | \end{itemize} |
---|
| 232 | \end{block} |
---|
[340] | 233 | \vfill |
---|
| 234 | \pause |
---|
[228] | 235 | |
---|
[336] | 236 | \begin{block}{Autres VCS} |
---|
[229] | 237 | \begin{itemize} |
---|
[336] | 238 | \item cvs |
---|
| 239 | \item darcs |
---|
| 240 | \item git |
---|
| 241 | \item tla-arch |
---|
| 242 | \item \ldots |
---|
[229] | 243 | \end{itemize} |
---|
| 244 | \end{block} |
---|
[336] | 245 | \end{frame} |
---|
[231] | 246 | |
---|
[337] | 247 | \subsubsection{Outils divers} |
---|
| 248 | |
---|
| 249 | \begin{frame} |
---|
| 250 | \frametitle{Liste de diffusion: Mailman} |
---|
| 251 | \begin{block}{Pourquoi Mailman} |
---|
| 252 | \begin{itemize} |
---|
| 253 | \item simple |
---|
| 254 | \item peu de maintenance |
---|
| 255 | \item configurable |
---|
| 256 | \end{itemize} |
---|
| 257 | \end{block} |
---|
[340] | 258 | \vfill |
---|
| 259 | \pause |
---|
[337] | 260 | \begin{exampleblock}{Exemple d'utilisation:} |
---|
| 261 | Envois des commits sur une liste. |
---|
| 262 | \end{exampleblock} |
---|
| 263 | \end{frame} |
---|
| 264 | |
---|
| 265 | |
---|
| 266 | \begin{frame} |
---|
| 267 | \frametitle{ViewVC} |
---|
| 268 | \begin{block}{Role:} |
---|
| 269 | Naviguer dans le dépot de code via le web |
---|
| 270 | \end{block} |
---|
[340] | 271 | \pause |
---|
| 272 | \vfill |
---|
[337] | 273 | \begin{exampleblock}{ViewVC} |
---|
| 274 | \center{ |
---|
| 275 | \includegraphics[width=0.7\linewidth]{viewcvs} |
---|
| 276 | } |
---|
| 277 | \end{exampleblock} |
---|
| 278 | \end{frame} |
---|
| 279 | |
---|
[340] | 280 | \subsubsection{Trac} |
---|
[337] | 281 | |
---|
| 282 | \begin{frame} |
---|
| 283 | \frametitle{Trac} |
---|
| 284 | \begin{block}{Résumé} |
---|
| 285 | \begin{itemize} |
---|
| 286 | \item application Web |
---|
| 287 | \item gestion de code informatique |
---|
| 288 | \end{itemize} |
---|
| 289 | \end{block} |
---|
[340] | 290 | \pause |
---|
[337] | 291 | \vfill |
---|
| 292 | \begin{block}{Fourni:} |
---|
| 293 | \begin{itemize} |
---|
| 294 | \item un wiki |
---|
| 295 | \item un agenda |
---|
| 296 | \item navigation dans le code |
---|
| 297 | \item gestion des incidents/bogues |
---|
| 298 | \end{itemize} |
---|
| 299 | \end{block} |
---|
| 300 | \end{frame} |
---|
| 301 | |
---|
| 302 | \begin{frame} |
---|
| 303 | \frametitle{Trac} |
---|
| 304 | \begin{exampleblock}{Trac: Wiki} |
---|
| 305 | \center{ |
---|
[340] | 306 | \includegraphics[width=1.0\linewidth]{trac-wiki} |
---|
[337] | 307 | } |
---|
| 308 | \end{exampleblock} |
---|
| 309 | \end{frame} |
---|
| 310 | |
---|
| 311 | \begin{frame} |
---|
| 312 | \frametitle{Trac} |
---|
| 313 | \begin{exampleblock}{Trac: Navigation dans le code} |
---|
| 314 | \center{ |
---|
[340] | 315 | \includegraphics[width=1.0\linewidth]{trac-browser} |
---|
[337] | 316 | } |
---|
| 317 | \end{exampleblock} |
---|
| 318 | \end{frame} |
---|
| 319 | |
---|
| 320 | \begin{frame} |
---|
| 321 | \frametitle{Trac} |
---|
| 322 | \begin{exampleblock}{Trac: Tickets} |
---|
| 323 | \center{ |
---|
[340] | 324 | \includegraphics[width=1.0\linewidth]{trac-ticket} |
---|
[337] | 325 | } |
---|
| 326 | \end{exampleblock} |
---|
| 327 | \end{frame} |
---|
| 328 | |
---|
[339] | 329 | \subsection{Administration} |
---|
[336] | 330 | |
---|
| 331 | \begin{frame} |
---|
[339] | 332 | \frametitle{Gestion} |
---|
| 333 | \begin{block}{Gestion des comptes} |
---|
| 334 | \begin{itemize} |
---|
| 335 | \item création des projets sur demande |
---|
[340] | 336 | \item création des comptes utilisateur par les responsables de projet |
---|
| 337 | \item gestion des membres par les responsables de projet |
---|
[339] | 338 | \item pas besoin d'être personnel IPSL (coopération) |
---|
| 339 | \end{itemize} |
---|
| 340 | \end{block} |
---|
[340] | 341 | \vfill |
---|
| 342 | \pause |
---|
[339] | 343 | |
---|
| 344 | \begin{block}{Accès au code} |
---|
| 345 | \begin{itemize} |
---|
| 346 | \item possibilité d'accès aux code: |
---|
| 347 | \begin{itemize} |
---|
| 348 | \item lecture anonyme |
---|
| 349 | \item lecture seulement authentifié |
---|
| 350 | \item écriture (authentifié) |
---|
| 351 | \end{itemize} |
---|
| 352 | \pause |
---|
| 353 | \item Accessibilité définie par projet |
---|
| 354 | \end{itemize} |
---|
| 355 | \end{block} |
---|
| 356 | \end{frame} |
---|
| 357 | |
---|
| 358 | \begin{frame} |
---|
| 359 | \frametitle{Gestion des comptes utilisateur} |
---|
| 360 | \begin{block}{Interface Web} |
---|
| 361 | \center{ |
---|
| 362 | \includegraphics[width=0.8\linewidth]{admin-forge} |
---|
| 363 | } |
---|
| 364 | \end{block} |
---|
| 365 | \end{frame} |
---|
| 366 | |
---|
| 367 | \begin{frame} |
---|
[336] | 368 | \frametitle{Sécurité} |
---|
[231] | 369 | \begin{block}{Assurance vie} |
---|
| 370 | \begin{itemize} |
---|
[340] | 371 | \item ordinateur garanti 5 ans sur site |
---|
[231] | 372 | \item disques durs en redondances |
---|
| 373 | \item 2 backups: IPSL et CCR |
---|
| 374 | \end{itemize} |
---|
| 375 | \end{block} |
---|
[229] | 376 | \end{frame} |
---|
[228] | 377 | |
---|
[230] | 378 | \section*{Fin} |
---|
[228] | 379 | |
---|
[230] | 380 | \begin{frame} |
---|
| 381 | \frametitle{Reférences et questions} |
---|
| 382 | \begin{block}{} |
---|
| 383 | \begin{itemize} |
---|
| 384 | \item \href{http://forge.ipsl.jussieu.fr/}{http://forge.ipsl.jussieu.fr/}: |
---|
| 385 | page principale |
---|
| 386 | |
---|
| 387 | \item \href{http://forge.ipsl.jussieu.fr/forge}{http://forge.ipsl.jussieu.fr/forge}: |
---|
| 388 | la documentation |
---|
| 389 | \end{itemize} |
---|
| 390 | \end{block} |
---|
| 391 | \pause |
---|
| 392 | \vfill |
---|
| 393 | \begin{block}{} |
---|
| 394 | \huge{Questions ?} |
---|
| 395 | \end{block} |
---|
| 396 | \end{frame} |
---|
| 397 | |
---|
[226] | 398 | \end{document} |
---|