| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|---|
| 2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en-US">
|
|---|
| 3 | <head profile="http://purl.org/net/uriprofile/">
|
|---|
| 4 |
|
|---|
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|---|
| 6 | <meta http-equiv="Content-Language" content="ja" />
|
|---|
| 7 | <meta http-equiv="Content-Style-Type" content="text/css" />
|
|---|
| 8 | <meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|---|
| 9 | <title>Gestion de version : Centralisée ou décentralisée</title>
|
|---|
| 10 |
|
|---|
| 11 | <link rev="made" href="mailto:perus@lal.in2p3.fr,garnier@lal.in2p3.fr" />
|
|---|
| 12 | <link rel="Shortcut Icon" type="image/vnd.microsoft.icon" href="http://www.cybergarden.net/favicon.ico" />
|
|---|
| 13 | <link rel="stylesheet" href="../../tags/Tools/v4/css/styles.css" type="text/css" media="screen, projection, tv, print" />
|
|---|
| 14 | <link rel="stylesheet" href="../../tags/Tools/v4/Slidy/slidy-toc.css" type="text/css" media="screen, projection, print" />
|
|---|
| 15 |
|
|---|
| 16 | <script src="../../tags/Tools/v4/Slidy/slidy.js" type="text/javascript"></script>
|
|---|
| 17 | <script src="../../tags/Tools/v4/Slidy/slidy-toc.js" type="text/javascript"></script>
|
|---|
| 18 | </head>
|
|---|
| 19 |
|
|---|
| 20 | <body style="font-size: 18pt;">
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 | <!-- Introduction [Start] -->
|
|---|
| 24 |
|
|---|
| 25 | <div class="slide" id="cover">
|
|---|
| 26 |
|
|---|
| 27 | <div class="callout">
|
|---|
| 28 | <p id="title">Gestion de version : Centralisée ou décentralisée</p>
|
|---|
| 29 | </div>
|
|---|
| 30 | <!--<q></q>-->
|
|---|
| 31 | <p id="author">Antoine Pérus, Laurent Garnier</p>
|
|---|
| 32 | <br>
|
|---|
| 33 | <p id="date">1 Octobre 2008<br></p>
|
|---|
| 34 | <p id="event"><a href="http://indico.in2p3.fr/conferenceDisplay.py?confId=653">Journées Informatique IN2P3-IRFU</a>, Strasbourg</p>
|
|---|
| 35 | </div>
|
|---|
| 36 |
|
|---|
| 37 | <div class="slide">
|
|---|
| 38 | <br>
|
|---|
| 39 | <div class="callout">
|
|---|
| 40 | <h2>Sommaire</h2>
|
|---|
| 41 | <ol>
|
|---|
| 42 | <li>Modèle centralisé, points forts et faiblesses</li>
|
|---|
| 43 |
|
|---|
| 44 | <li>Pourquoi un modèle décentralisé ?</li>
|
|---|
| 45 | <li>Exemples :
|
|---|
| 46 | <ol>
|
|---|
| 47 | <li>Subversion 1.5</li>
|
|---|
| 48 | <li>Git</li>
|
|---|
| 49 | <li>Autres bazaard, darcs, mercurial, monotone ...</li>
|
|---|
| 50 | </li>
|
|---|
| 51 | <li><a href="#(12)">Conclusion</a></li>
|
|---|
| 52 | </ol>
|
|---|
| 53 | </div>
|
|---|
| 54 | </div>
|
|---|
| 55 |
|
|---|
| 56 |
|
|---|
| 57 |
|
|---|
| 58 | <!-- Diapo -->
|
|---|
| 59 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 60 |
|
|---|
| 61 | <h1>Doxygen : qu'est-ce que c'est ?</h1>
|
|---|
| 62 | <ul class="incremental">
|
|---|
| 63 | <li>
|
|---|
| 64 | Système de documentation pour programmes
|
|---|
| 65 | <ul class="non-incremental">
|
|---|
| 66 | <li>C++, Java, Objective-C, IDL</li>
|
|---|
| 67 | <li>PHP, C#</li>
|
|---|
| 68 | </ul>
|
|---|
| 69 | </li>
|
|---|
| 70 | <li>
|
|---|
| 71 | Génère automatiquement :
|
|---|
| 72 | <ul class="non-incremental">
|
|---|
| 73 | <li>Html, Xml, Latex, Pdf, PS</li>
|
|---|
| 74 | <li>man pages</li>
|
|---|
| 75 | <li>graphe des dépendances, des héritages</li>
|
|---|
| 76 | </ul>
|
|---|
| 77 | </li>
|
|---|
| 78 | <li>Couplage fort entre la documentation et le code</li>
|
|---|
| 79 | </ul>
|
|---|
| 80 | </div>
|
|---|
| 81 |
|
|---|
| 82 |
|
|---|
| 83 |
|
|---|
| 84 | <!-- Diapo -->
|
|---|
| 85 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 86 |
|
|---|
| 87 | <h1>Doxygen : comment ?</h1>
|
|---|
| 88 |
|
|---|
| 89 | <p class="incremental" align="center">
|
|---|
| 90 | <strong>... sans rien faire ;-)</strong>
|
|---|
| 91 | </p>
|
|---|
| 92 |
|
|---|
| 93 | <ul class="incremental">
|
|---|
| 94 | <li>Exemple :
|
|---|
| 95 | <ul class="non-incremental">
|
|---|
| 96 | <li>lien <a href="http://ens.lal.in2p3.fr/current/DocDrawQt/html/index.html">DrawQt</a> du menu principal</li>
|
|---|
| 97 | </ul>
|
|---|
| 98 | </li>
|
|---|
| 99 | <li>
|
|---|
| 100 | Génère automatiquement la documentation
|
|---|
| 101 | <ul class="incremental">
|
|---|
| 102 | <li>en s'appuyant sur un fichier de configuration,<br />
|
|---|
| 103 | qu'il est capable de générer sous forme de
|
|---|
| 104 | template
|
|---|
| 105 | <pre>
|
|---|
| 106 |
|
|---|
| 107 | $> doxygen -g configFile
|
|---|
| 108 | </pre>
|
|---|
| 109 | </li>
|
|---|
| 110 | <li>en analysant le code</li>
|
|---|
| 111 | <li>en analysant les commentaires placés dans le code, selon un format spécifique</li>
|
|---|
| 112 | </ul>
|
|---|
| 113 | </li>
|
|---|
| 114 | </ul>
|
|---|
| 115 |
|
|---|
| 116 | </div>
|
|---|
| 117 |
|
|---|
| 118 |
|
|---|
| 119 |
|
|---|
| 120 | <!-- Diapo -->
|
|---|
| 121 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 122 |
|
|---|
| 123 | <h1>Doxygen : 1ère bouffée (1)</h1>
|
|---|
| 124 |
|
|---|
| 125 | <ul>
|
|---|
| 126 | <li>Au début de chaque fichier, juste après les
|
|---|
| 127 | instructions d'inclusion :<br /> <br />
|
|---|
| 128 | <pre>
|
|---|
| 129 |
|
|---|
| 130 | #include <iostream>
|
|---|
| 131 | #include <string>
|
|---|
| 132 |
|
|---|
| 133 | /** @file nomDuFichier.ext
|
|---|
| 134 | * @brief Une brève description du fichier.
|
|---|
| 135 | *
|
|---|
| 136 | * Une description plus complète du fichier.
|
|---|
| 137 | * Probablement sur plusieurs lignes.
|
|---|
| 138 | */
|
|---|
| 139 | </pre>
|
|---|
| 140 | </li>
|
|---|
| 141 | </ul>
|
|---|
| 142 |
|
|---|
| 143 | </div>
|
|---|
| 144 |
|
|---|
| 145 |
|
|---|
| 146 |
|
|---|
| 147 | <!-- Diapo -->
|
|---|
| 148 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 149 |
|
|---|
| 150 | <h1>Doxygen : 1ère bouffée (2)</h1>
|
|---|
| 151 |
|
|---|
| 152 | <ul>
|
|---|
| 153 | <li>Juste avant chaque classe :<br /> <br />
|
|---|
| 154 | <pre>
|
|---|
| 155 |
|
|---|
| 156 | /** @brief Une brève description de maClasse.
|
|---|
| 157 | *
|
|---|
| 158 | * Une description plus complète de maClasse.
|
|---|
| 159 | * Probablement sur plusieurs lignes.
|
|---|
| 160 | */
|
|---|
| 161 | class maClass {
|
|---|
| 162 | ...
|
|---|
| 163 | }
|
|---|
| 164 | </pre>
|
|---|
| 165 | </li>
|
|---|
| 166 | </ul>
|
|---|
| 167 |
|
|---|
| 168 | </div>
|
|---|
| 169 |
|
|---|
| 170 |
|
|---|
| 171 |
|
|---|
| 172 | <!-- Diapo -->
|
|---|
| 173 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 174 |
|
|---|
| 175 | <h1>Doxygen : 1ère bouffée (3)</h1>
|
|---|
| 176 |
|
|---|
| 177 | <ul>
|
|---|
| 178 | <li>Juste avant chaque méthode :<br /> <br />
|
|---|
| 179 | <pre>
|
|---|
| 180 |
|
|---|
| 181 | /** @brief Une brève description de maMethode.
|
|---|
| 182 | *
|
|---|
| 183 | * Une description plus complète de maMethode.
|
|---|
| 184 | * Probablement sur plusieurs lignes.
|
|---|
| 185 | * @param unArgument Une brève description de unArgument.
|
|---|
| 186 | * @return Une brève description de ce que retourne
|
|---|
| 187 | * maMethode.
|
|---|
| 188 | */
|
|---|
| 189 | std::string maMethode( std::string unArgument );
|
|---|
| 190 | </pre>
|
|---|
| 191 | </li>
|
|---|
| 192 | </ul>
|
|---|
| 193 | </div>
|
|---|
| 194 |
|
|---|
| 195 |
|
|---|
| 196 |
|
|---|
| 197 | <!-- Diapo -->
|
|---|
| 198 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 199 |
|
|---|
| 200 | <h1>Doxygen : 1ère bouffée (4)</h1>
|
|---|
| 201 |
|
|---|
| 202 | <ul>
|
|---|
| 203 | <li>Juste avant chaque variable :<br /> <br />
|
|---|
| 204 | <pre>
|
|---|
| 205 |
|
|---|
| 206 | /** @brief Une brève description de maVariable.
|
|---|
| 207 | *
|
|---|
| 208 | * Une description plus complète de maVariable.
|
|---|
| 209 | * Probablement sur plusieurs lignes.
|
|---|
| 210 | */
|
|---|
| 211 | std::string maVariable;
|
|---|
| 212 | </pre>
|
|---|
| 213 | </li>
|
|---|
| 214 | </ul>
|
|---|
| 215 |
|
|---|
| 216 | </div>
|
|---|
| 217 |
|
|---|
| 218 |
|
|---|
| 219 |
|
|---|
| 220 | <!-- Diapo -->
|
|---|
| 221 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 222 |
|
|---|
| 223 | <h1>Doxygen : en apnée (1)</h1>
|
|---|
| 224 |
|
|---|
| 225 | <ul>
|
|---|
| 226 | <li>Au début de chaque fichier, juste après les instructions d'inclusion :<br /> <br />
|
|---|
| 227 | <pre>
|
|---|
| 228 |
|
|---|
| 229 | #include <iostream>
|
|---|
| 230 | #include <string>
|
|---|
| 231 |
|
|---|
| 232 | /** @file nomDuFichier.ext
|
|---|
| 233 | * @brief Une brève description du fichier.
|
|---|
| 234 | *
|
|---|
| 235 | * Une description plus complète du fichier.
|
|---|
| 236 | * Probablement sur plusieurs lignes.
|
|---|
| 237 | *
|
|---|
| 238 | * <strong>Exemple</strong>
|
|---|
| 239 | * <code>Status maFonction();</code>
|
|---|
| 240 | *
|
|---|
| 241 | * @author Leroi Arthur
|
|---|
| 242 | */
|
|---|
| 243 | </pre>
|
|---|
| 244 | </li>
|
|---|
| 245 | </ul>
|
|---|
| 246 |
|
|---|
| 247 | </div>
|
|---|
| 248 |
|
|---|
| 249 |
|
|---|
| 250 |
|
|---|
| 251 | <!-- Diapo -->
|
|---|
| 252 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 253 |
|
|---|
| 254 | <h1>Doxygen : en apnée (2)</h1>
|
|---|
| 255 |
|
|---|
| 256 | <ul>
|
|---|
| 257 | <li>Juste avant chaque classe :<br /> <br />
|
|---|
| 258 | <pre>
|
|---|
| 259 |
|
|---|
| 260 | /** @brief Une brève description de maClasse.
|
|---|
| 261 | *
|
|---|
| 262 | * Une description plus complète de maClasse.
|
|---|
| 263 | * Probablement sur plusieurs lignes.
|
|---|
| 264 | * Une liste de caractéristiques :
|
|---|
| 265 | * - un item
|
|---|
| 266 | * -# numéroté 1
|
|---|
| 267 | * -# numéroté 2
|
|---|
| 268 | * - un autre item
|
|---|
| 269 | */
|
|---|
| 270 | class maClass {
|
|---|
| 271 | ...
|
|---|
| 272 | }
|
|---|
| 273 | </pre>
|
|---|
| 274 | </li>
|
|---|
| 275 | </ul>
|
|---|
| 276 |
|
|---|
| 277 | </div>
|
|---|
| 278 |
|
|---|
| 279 |
|
|---|
| 280 |
|
|---|
| 281 | <!-- Diapo -->
|
|---|
| 282 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 283 |
|
|---|
| 284 | <h1>Doxygen : en apnée (3)</h1>
|
|---|
| 285 |
|
|---|
| 286 | <ul>
|
|---|
| 287 | <li>Juste avant chaque méthode :<br /> <br />
|
|---|
| 288 | <pre>
|
|---|
| 289 |
|
|---|
| 290 | /** @brief Une brève description de maMethode.
|
|---|
| 291 | *
|
|---|
| 292 | * Une description plus complète de maMethode.
|
|---|
| 293 | * Probablement sur plusieurs lignes.
|
|---|
| 294 | *
|
|---|
| 295 | * @param unArgument Une brève description de unArgument.
|
|---|
| 296 | * @return Une brève description de ce que retourne
|
|---|
| 297 | * maMethode.
|
|---|
| 298 | *
|
|---|
| 299 | * @throws monException La raison et la description.
|
|---|
| 300 | *
|
|---|
| 301 | * @see #uneAutreMethode
|
|---|
| 302 | * @see uneAutreClasse#uneAutreMethode
|
|---|
| 303 | */
|
|---|
| 304 | std::string maMethode( std::string unArgument );
|
|---|
| 305 | </pre>
|
|---|
| 306 | </li>
|
|---|
| 307 | </ul>
|
|---|
| 308 |
|
|---|
| 309 | </div>
|
|---|
| 310 |
|
|---|
| 311 |
|
|---|
| 312 |
|
|---|
| 313 | <!-- Diapo -->
|
|---|
| 314 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 315 |
|
|---|
| 316 | <h1>Doxygen : syntaxe des liens</h1>
|
|---|
| 317 |
|
|---|
| 318 | <table border="0" cellspacing="0" cellpadding="5">
|
|---|
| 319 | <tr>
|
|---|
| 320 | <td>@see <font color="red">package</font></td>
|
|---|
| 321 | <td>Lien vers un <font color="red">package</font></td>
|
|---|
| 322 | </tr>
|
|---|
| 323 | <tr>
|
|---|
| 324 | <td>@see <font color="red">classname</font></td>
|
|---|
| 325 | <td>Lien vers <font color="red">classname</font> dans le package courant </td>
|
|---|
| 326 | </tr>
|
|---|
| 327 | <tr>
|
|---|
| 328 | <td>@see <font color="red">package.classname</font></td>
|
|---|
| 329 | <td>Lien vers <font color="red">classname dans un autre package</font> </td>
|
|---|
| 330 | </tr>
|
|---|
| 331 | <tr>
|
|---|
| 332 | <td>@see <font color="red">#method</font></td>
|
|---|
| 333 | <td>Lien vers <font color="red">method</font> dans la classe courante</td>
|
|---|
| 334 | </tr>
|
|---|
| 335 | <tr>
|
|---|
| 336 | <td>@see <font color="red">classname#method</font></td>
|
|---|
| 337 | <td>Lien vers <font color="red">method dans une autre classe</font> </td>
|
|---|
| 338 | </tr>
|
|---|
| 339 | <tr>
|
|---|
| 340 | <td>@see <font color="red">#method(type)</font></td>
|
|---|
| 341 | <td>Lien vers <font color="red">method avec l'argument
|
|---|
| 342 | type</font></td>
|
|---|
| 343 | </tr>
|
|---|
| 344 | </table>
|
|---|
| 345 |
|
|---|
| 346 | </div>
|
|---|
| 347 |
|
|---|
| 348 |
|
|---|
| 349 |
|
|---|
| 350 | <!-- Diapo -->
|
|---|
| 351 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 352 |
|
|---|
| 353 | <h1>Doxygen : en apnée (4)</h1>
|
|---|
| 354 |
|
|---|
| 355 | <ul>
|
|---|
| 356 | <li>Enrichir la page d'introduction :<br /> <br />
|
|---|
| 357 | <p align="center"><strong>@mainpage</strong></p>
|
|---|
| 358 | <ul>
|
|---|
| 359 | <li>dans un bloc de commentaire</li>
|
|---|
| 360 | <li>par exemple, dans un fichier <em>mainpage.h</em></li>
|
|---|
| 361 | </ul>
|
|---|
| 362 | <pre>
|
|---|
| 363 |
|
|---|
| 364 | /** @mainpage Le package Test
|
|---|
| 365 | *
|
|---|
| 366 | * @section intro Introduction
|
|---|
| 367 | * ...
|
|---|
| 368 | * @section install Procédure d'installation ...
|
|---|
| 369 | * @subsection step_1 Première étape ...
|
|---|
| 370 | * @subsection step_2 Deuxième étape ...
|
|---|
| 371 | * ...
|
|---|
| 372 | * Le fichier <a href="../../ChangeLog"> ChangeLog</a>
|
|---|
| 373 | */
|
|---|
| 374 | </pre>
|
|---|
| 375 | </li>
|
|---|
| 376 | </ul>
|
|---|
| 377 |
|
|---|
| 378 | </div>
|
|---|
| 379 |
|
|---|
| 380 |
|
|---|
| 381 |
|
|---|
| 382 | <!-- Diapo -->
|
|---|
| 383 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo">
|
|---|
| 384 |
|
|---|
| 385 | <h1>Utilisation avec CMT</h1>
|
|---|
| 386 |
|
|---|
| 387 | <ul>
|
|---|
| 388 | <li>Dans <em><package>/<version>/cmt</em> :<br /> <br />
|
|---|
| 389 | <pre>
|
|---|
| 390 | $> cmt make doc
|
|---|
| 391 | </pre>
|
|---|
| 392 | </li>
|
|---|
| 393 | <li>puis :<br /> <br />
|
|---|
| 394 | <pre>
|
|---|
| 395 | $> open ../doc/html/index.html
|
|---|
| 396 | </pre>
|
|---|
| 397 |
|
|---|
| 398 | <p align="center"><br /><strong>... c'est tout ! ;-)</strong></p>
|
|---|
| 399 | </div>
|
|---|
| 400 |
|
|---|
| 401 |
|
|---|
| 402 |
|
|---|
| 403 | <!-- Diapo -->
|
|---|
| 404 | <!-- Thank You [Start] -->
|
|---|
| 405 | <div style="border-style: none; display: none; visibility: hidden; position: absolute;" class="slideLogo" id="thanks">
|
|---|
| 406 | <br /><br />
|
|---|
| 407 | <br /><br />
|
|---|
| 408 | <br /><br />
|
|---|
| 409 | <br /><br />
|
|---|
| 410 | <center>Question(s) ?</center>
|
|---|
| 411 | </div>
|
|---|
| 412 |
|
|---|
| 413 |
|
|---|
| 414 | <!-- [End] -->
|
|---|
| 415 |
|
|---|
| 416 | </body>
|
|---|
| 417 | </html>
|
|---|