INTEGRATION
  CONTINUE
     &
   QUALITE
 LOGICIELLE
        David Buros
  Ingénieur R&D - Profilsoft
About.me
   Développeur PHP depuis 4 ans.

Trois belles expériences en entreprise.

       Du code, mais pas que.

         Veille, veille, veille !
AU SECOURS
  « Chérie, j'ai oublié les bases »




         http://technopolis.blogspot.com/2011/07/age-of-austerity-obama-asks-america-to.html
6
REGLES D'OR
… à suivre pour bien planter son projet.
†
   Partir du principe que les
spécifications fonctionnelles ne
bougent pas en cours de projet,
             jamais.
†


      LOL
   Partir du principe que les
spécifications fonctionnelles ne
bougent pas en cours de projet,
             jamais.
L'AGILE
  « Tarte à la scrum »




               http://wdict.net/fr/word/souplesse+(gymnastique)/
- LE MANIFESTE AGILE -
« Les individus et leurs interactions plus
      que les processus et les outils. »

 « Des logiciels opérationnels plus qu’une
        documentation exhaustive. »

« La collaboration avec les clients plus que
       la négociation contractuelle. »

« L’adaptation au changement plus que le
             suivi d’un plan. »
User Story

   En tant que ROLE, je souhaite
        ACTION pour BUT.
« En tant que client, je souhaite uploader des documents pour
                 compléter ma bibliothèque »
††
    Se dire qu'écrire une
application from scratch pour
hier, c'est facile. On est large
             même.
††


  OMG
    Se dire qu'écrire une
application from scratch pour
hier, c'est facile. On est large
             même.
LES OUTILS
 « Les mains dans le cambouis »




                      http://www.lizardheadone.com/Engine.html
OUTILS MAITRISES
       ≠
OUTILS ADAPTES
       ≠
PRISE DE RISQUE
INCONSCIDEREE
†††
Livrer ses développements sans
   les tester. Ou à la rigueur
 effectuer quelques clics sur la
               page.
†††


    FAUX
Livrer ses développements sans
   les tester. Ou à la rigueur
 effectuer quelques clics sur la
               page.
LES TESTS
« Finalement, on gagne du temps »




               http://www.historyofinformation.com/narrative/restating-the-problem.php
TESTS UNITAIRES

class Request {
    /* CODE */
    public function getPost($name = null) {
        if (null === $name) {
           return $this->_post;
        }
        return array_key_exists($name, $this->_post)?$this->_post[$name]:null;
    }
}



class RequestTest extends PHPUnit_Framework_TestCase {
    /* CODE */
    public function testGetPost()
    {
        $this->assertInternalType('array', $this->object->getPost());

        $this->assertNull($this->object->getPost('test'));

        $this->object->setPost(array('test' => 'value'));
        $this->assertEquals('value', $this->object->getPost('test'));
        $this->assertEquals(array('test' => 'value'), $this->object->getPost());
    }
}
TESTS FONCTIONNELS
††††
Convenir que le meilleur moyen
 de partager son travail c'est de
 mettre un zip des sources sur
     Megaupload Dropbox.
††††


O RLY ?
Convenir que le meilleur moyen
 de partager son travail c'est de
 mettre un zip des sources sur
     Megaupload Dropbox.
LE VERSIONNING
      « Retour vers le futur »




                  http://events.2hweb.net/scrapbook04su.html
CENTRALISE VS DISTRIBUE
†††††
 Garder à l'esprit que le suivi
de la qualité d'un projet tient
 avant tout dans la relecture
    aléatoire des sources.
†††††


    FAIL
 Garder à l'esprit que le suivi
de la qualité d'un projet tient
 avant tout dans la relecture
    aléatoire des sources.
INTEGRATION
  CONTINUE
        « Big Brother »




               http://www.pptbackgrounds.net/
1 ; Commiter votre travail de la journée.

               2 : Faite un build.

           3 : Mergez vos branches.

4 : Mettez les sources en production en un clic.

5 : Allez vous reposer, demain on recommence.
††††††
    Se dire qu'une mise en
   production c'est ni plus ni
 moins que quelques fichiers à
faire glisser dans un client FTP
FUUFU        ††††††
            FUFFUUU       FFUUUFF
     Se direFUUUFFUUF en
FUFUFUF       qu'une mise FUUFU
    production c'est ni plus ni
FUFFUUU FFUUUFF FUFUFUF
  moins que quelques fichiers à
FUUUFFUUF FUUFU FUFFUUU
 faire glisser dans un client FTP
FFUUUFF FUFUFUF FUUUFFUUF
LE DEVOP
  « La tête dans les nuages »




            http://adnm-grp.com/services/solutions-et-lhebergement.html
DEV + OP
Cloud Computing

  IaaS - PaaS

 Chef - Puppet

  Capistrano
?
Contact : dburos@profilsoft.com

Intégration continue & Qualité logicielle

  • 1.
    INTEGRATION CONTINUE & QUALITE LOGICIELLE David Buros Ingénieur R&D - Profilsoft
  • 2.
    About.me Développeur PHP depuis 4 ans. Trois belles expériences en entreprise. Du code, mais pas que. Veille, veille, veille !
  • 3.
    AU SECOURS « Chérie, j'ai oublié les bases » http://technopolis.blogspot.com/2011/07/age-of-austerity-obama-asks-america-to.html
  • 4.
    6 REGLES D'OR … àsuivre pour bien planter son projet.
  • 5.
    Partir du principe que les spécifications fonctionnelles ne bougent pas en cours de projet, jamais.
  • 6.
    LOL Partir du principe que les spécifications fonctionnelles ne bougent pas en cours de projet, jamais.
  • 7.
    L'AGILE « Tarteà la scrum » http://wdict.net/fr/word/souplesse+(gymnastique)/
  • 8.
    - LE MANIFESTEAGILE - « Les individus et leurs interactions plus que les processus et les outils. » « Des logiciels opérationnels plus qu’une documentation exhaustive. » « La collaboration avec les clients plus que la négociation contractuelle. » « L’adaptation au changement plus que le suivi d’un plan. »
  • 9.
    User Story En tant que ROLE, je souhaite ACTION pour BUT. « En tant que client, je souhaite uploader des documents pour compléter ma bibliothèque »
  • 11.
    †† Se dire qu'écrire une application from scratch pour hier, c'est facile. On est large même.
  • 12.
    †† OMG Se dire qu'écrire une application from scratch pour hier, c'est facile. On est large même.
  • 13.
    LES OUTILS « Lesmains dans le cambouis » http://www.lizardheadone.com/Engine.html
  • 15.
    OUTILS MAITRISES ≠ OUTILS ADAPTES ≠ PRISE DE RISQUE INCONSCIDEREE
  • 16.
    ††† Livrer ses développementssans les tester. Ou à la rigueur effectuer quelques clics sur la page.
  • 17.
    ††† FAUX Livrer ses développements sans les tester. Ou à la rigueur effectuer quelques clics sur la page.
  • 18.
    LES TESTS « Finalement, ongagne du temps » http://www.historyofinformation.com/narrative/restating-the-problem.php
  • 19.
    TESTS UNITAIRES class Request{ /* CODE */ public function getPost($name = null) { if (null === $name) { return $this->_post; } return array_key_exists($name, $this->_post)?$this->_post[$name]:null; } } class RequestTest extends PHPUnit_Framework_TestCase { /* CODE */ public function testGetPost() { $this->assertInternalType('array', $this->object->getPost()); $this->assertNull($this->object->getPost('test')); $this->object->setPost(array('test' => 'value')); $this->assertEquals('value', $this->object->getPost('test')); $this->assertEquals(array('test' => 'value'), $this->object->getPost()); } }
  • 20.
  • 21.
    †††† Convenir que lemeilleur moyen de partager son travail c'est de mettre un zip des sources sur Megaupload Dropbox.
  • 22.
    †††† O RLY ? Convenir quele meilleur moyen de partager son travail c'est de mettre un zip des sources sur Megaupload Dropbox.
  • 23.
    LE VERSIONNING « Retour vers le futur » http://events.2hweb.net/scrapbook04su.html
  • 24.
  • 26.
    ††††† Garder àl'esprit que le suivi de la qualité d'un projet tient avant tout dans la relecture aléatoire des sources.
  • 27.
    ††††† FAIL Garder à l'esprit que le suivi de la qualité d'un projet tient avant tout dans la relecture aléatoire des sources.
  • 28.
    INTEGRATION CONTINUE « Big Brother » http://www.pptbackgrounds.net/
  • 30.
    1 ; Commiter votretravail de la journée. 2 : Faite un build. 3 : Mergez vos branches. 4 : Mettez les sources en production en un clic. 5 : Allez vous reposer, demain on recommence.
  • 31.
    †††††† Se dire qu'une mise en production c'est ni plus ni moins que quelques fichiers à faire glisser dans un client FTP
  • 32.
    FUUFU †††††† FUFFUUU FFUUUFF Se direFUUUFFUUF en FUFUFUF qu'une mise FUUFU production c'est ni plus ni FUFFUUU FFUUUFF FUFUFUF moins que quelques fichiers à FUUUFFUUF FUUFU FUFFUUU faire glisser dans un client FTP FFUUUFF FUFUFUF FUUUFFUUF
  • 33.
    LE DEVOP « La tête dans les nuages » http://adnm-grp.com/services/solutions-et-lhebergement.html
  • 34.
  • 35.
    Cloud Computing IaaS - PaaS Chef - Puppet Capistrano
  • 36.