tite fractale

Modif b28683cc

Date:   Tue Dec 9 19:17:57 2014 +0100

    Modifs sur activité Travis suite à la séance.

diff --git a/input/activite_Integration_continue_avec_Travis.md b/input/activite_Integration_continue_avec_Travis.md
index 05d1517..fae21c6 100644
--- a/input/activite_Integration_continue_avec_Travis.md
+++ b/input/activite_Integration_continue_avec_Travis.md
@@ -9,8 +9,8 @@ L’intégration continue en quelque mots
 ======================================

 L’*intégration continue* consiste à déclencher un ensemble de tâches à chaque
-fois qu’un développeur valide une modification sur un projet (après un
-*commit*). Quelques exemples de tâches :
+fois qu’un développeur valide une modification sur un projet (surtout par
+exemple après un *push*). Quelques exemples de tâches :

 * récupération du code source le plus récent,
 * compilations :
@@ -20,10 +20,15 @@ fois qu’un développeur valide une modification sur un projet (après un
 * tests automatisés (attention, ne pas confondre *intégration continue* et
   *tests d’intégration*) :
     * fonctionnels,
-    * conventions de présentation des fichiers,
-    * couverture,
-    * code dupliqué,
-    * traque des balises `TODO`,
+    * conventions de présentation des fichiers (grâce à des
+      [lint](http://fr.wikipedia.org/wiki/Lint_%28logiciel%29)-ers, voir
+      [ce linter pour JS en ligne](http://www.jslint.com/)),
+      où le moindre espace (essayer `var a=0`) ou commentaire louche (essayer
+      `// TODO` est détecté),
+    * couverture (voir [l’article Wikipedia](http://fr.wikipedia.org/wiki/Couverture_de_code),
+    * fonctionnalités et apparences d’un site web, grâce par exemple
+      respectivement à [CasperJS](http://casperjs.org/) et à
+      [PhantomCSS](https://github.com/Huddle/PhantomCSS),
     * …
 * mesures :
     * efficacité,
@@ -54,9 +59,14 @@ par un testeur qualifié.
 pas tests d'intégration (niveau 2).</p>
 """) }}

-Avec Travis, comme les environnements sont recréés à partir de rien à chaque
-fois, cela permet d’être sûr que le projet ne dépend pas d’une configuration
-locale particulière. Tout est maîtrisé.
+Avec Travis, les environnements sont recréés à partir de zéro à chaque fois.
+
+{- spoiler("Comment ?",
+"""Machines virtuelles.""") }}
+
+Cela permet d’être sûr que le projet ne dépend pas d’une configuration
+locale particulière, ou qu’un précédent test a laissé traîné des fichiers ou
+des entrées dans la base de données. Tout est maîtrisé.

 Très utilisée dans les méthodes *agiles*, l’intégration continue suppose une
 très bonne préparation en amont. Voir [l’article
@@ -81,9 +91,6 @@ Démarrer avec Travis

 * Avoir un compte sur <https://github.com/>,
 * s’y connecter car les comptes Travis sont les comptes Github.
-* Avoir un projet sur <https://github.com/> (cela pourrait être un CV en PHP,
-  ici nous utiliserons un faux projet en Python), qui pourrait s’appeler
-  `test-travis-ou-autre`,
 * aller sur <https://travis-ci.org> et chercher le lien `Sign in`…
 * …qui est en fait sur la page <https://travis-ci.org/auth>.
 * Laisser tous les droits requis à Travis sur votre compte Github.  
@@ -92,8 +99,13 @@ Démarrer avec Travis

 ## Activer le hook pour le projet

-* Sur <https://travis-ci.org/profile>, cliquer sur le bouton correspondant.
-* Sur la page *Settings* de votre projet <https://github.com/>, vérifier que :
+* Créer un projet sur <https://github.com/>. Ici nous allons commencer par un
+  faux projet en Python, qui pourrait s’appeler `test-travis-python`.
+* Sur la page *Settings* de votre projet, ou plutôt dans `Settings`, activez
+  le service `Travis CI`.
+* Sur <https://travis-ci.org/profile>, re-synchroniser, puis cliquer sur le
+  bouton `ON` correspondant au projet.
+* Sur la page *Settings* de votre projet, vérifier que :
     * *User* et *Token* sont remplis,
     * la case *Active* est cochée.

@@ -136,7 +148,7 @@ pu simplement ajouter à la fin :
         """Fake procedure to test doctests.

         >>> test_proc(42)
-        42
+        43

         """
         return x
@@ -151,6 +163,12 @@ la file d’attente, et le résultat arrive sur :
 * <https://travis-ci.org/profile/VOTRE_PSEUDO> ou sur
 * <https://travis-ci.org/VOTRE_PSEUDO/VOTRE_PROJET>.

+Pour être notifié par email, il faut bien le configurer dans votre client *git*,
+ou suivre [la doc](http://docs.travis-ci.com/user/notifications/#Email-notifications).
+
+Malheureusement, ce script ne montre pas les détails de l’erreur (43 au lien de
+42).
+
 ### Premier .travis.yml avec PHP

 `.travis.yml` :
@@ -193,7 +211,7 @@ de `PHPUnit_Framework_TestCase`. Toutes les méthodes seront exécutées.
     {
         public function testSimple()
         {
-            $this->assertEquals(0, 0);
+            $this->assertEquals(0, 1);
         }
     }
     ?>
@@ -217,6 +235,23 @@ Il peut donc être important de :
       les sources sont [disponibles](http://github.com/travis-ci/travis-lint),
     * soit en ligne avec [l’application web de Travis](http://lint.travis-ci.org/).

+En résumé
+=========
+
+L’intégration continue permet :
+
+* **quoi** : d’automatiser des tâches de tests ou de déploiement d’un projet
+* **où** : dans des environnements à chaque fois vierges
+* **quand** : après un envoi de code sur le serveur
+* **comment** :
+    * préparant l’environnement (dépendances, données de tests…)
+    * en clonant le projet
+    * en extrayant les fichiers
+    * en lançant des commandes spécifiques
+
+Attention, ici GitHub ne fait pas d’intégration continue. Le **qui**, c’est
+Travis.
+
 Pour aller plus loin
 ====================

@@ -244,7 +279,7 @@ Idées de tâches
     * analyseurs statiques :
         * pour Python :
             * [PEP8](https://pypi.python.org/pypi/pep8)
-            * https://pypi.python.org/pypi/flake8
+            * [flake8](https://pypi.python.org/pypi/flake8)
             * [pylint](http://www.pylint.org/)
     * couverture,
     * code dupliqué,









Page générée le 09/12/2014, 22h31'36" (page virtuelle).
historique global

 TogetherJS