SlideShare une entreprise Scribd logo
1  sur  46
{
Suivi de qualité - PIC
Plateforme d’Intégration Continue
{ Gabriele Santini
Architecte/Consultant chez SQLI
Responsable PIC-PHP-SQLI
Plugin Sonar PHP
{ Avant le suivi qualité
{ Effet « tunnel »
… bon voyage !
http://www.flickr.com/photos/kevinhooa/766337930
{ Code « totémisé »
« Code qui
marche tu ne
toucheras
point ! »
{ Problèmes de déployement
{
Problèmes de maintenance
{ Enter : Intégration Continue!
Automatise la procédure d’intégration
l’étape de construction est appelée build
A chaque build :
Exécute les tests automatisés
Analyse la qualité du produit
Remonte des indicateurs (n°1 : état du build)
Continue = build à chaque commit
{ Objectifs
• Projet stable et déployable
• Informations immédiates pour l’équipe de
développement
• Indicateurs continus pour la gestion du projet
{ Le projet GN Puls@r
Projet d’envergure Gendarmerie Nationale
• Le système de gestion des brigades
• Gestion des « Formules », services, statistiques, …
• V1 en Java (2005-2007)
• Problèmes de montée en charge
• Fonctionnel figé
• Non maintenable en interne
{ Puls@r V2 : PHP
{ SQLI : suivi qualité
Mise en place d’une PIC pour le projet
Garantir la qualité des développements
{ PIC dans l’usine logicielle
PIC
OUTIL DE VERSIONING
POSTES DE DEVELOPPEMENT
SERVEUR D’INTEGRATION
{ PIC - Schéma
sources
Moteurdebuild
TUA
TFA
GD
…
Consolidation
Conf
Conf
Conf
Conf
Rapports
XML
Rapport
de
Build
XML
Graphes
Artifacts
Applicationweb
{ PIC-PHP-SQLI
Fondée sur phpUnderControl
Qui se « greffe » sur CruiseControl,
moteur d’IC Java très stable
phpUnderControl « patche » pour php
le build et la restitution
Consolide les résultats (stats, graphes)
{ Outils dans PUC
phpUnderControl intègre :
PHPUnit pour les tests unitaires et fonctionnels
automatisés
PHPUnit + Xdebug pour la couverture de code
PHP_CodeSniffer pour la vérification des règles de
codage (checkstyle)
PHPDocumentor pour la gestion de la
documentation
PHPUnit (PHPMD) pour les métriques projet (PMD)
{ PHP_Documentor
Génération de la documentation
Travail collaboratif de l'équipe de développement
Les IDEs l’utilisent pour l'autocomplétion
phpDocumentor :
Utilise et définit le standard de documentation
phpDoc
Artifact : site documentaire HTML
Reporting de build avec les violations de
documentation
{ PHP_CodeSniffer
Garantir le respect des règles choisies
Diminution du nombre d’anomalies
Indicateur fin sur la qualité globale de l’application
PHP_CodeSniffer :
Solution OS de référence pour PHP
Traite aussi Javascript et CSS
Rapport XML en build
Indicateur intégré dans les graphes phpUnderControl
{ PHP_Unit : TUA
Exécution des Tests Automatisés
Pivot de l’intégration continue : non régression
PhpUnit :
Projet mûr et parfaitement intégré dans l’univers des
outils php
Vaste panel de fonctionnalités (fixtures, mock objects,
génération de squelettes, tests DB, ...)
Exécute les TUA et fournit un rapport détaillé ainsi
qu'un rapport d'état
{ PHP_Unit + Xdebug : CC
Couverture de code
Quelles parties du code sont couvertes par les tests
Indicateur de l’efficacité des tests
PhpUnit avec Xdebug :
Collecte les informations de couverture de code
pendant l’exécution
Artifact : site HTML avec statistiques par dossier et
détails par fichier
Fournit un rapport détaillé consolidé dans des
indicateurs et des violations PMD
{ PHP_Unit 3.2-3.X : PMD
Calcul des métriques projet
Remonté des violations liées aux valeurs anormales
Fonctionnalité temporairement dans PHP_Unit
Déportée par la suite dans d’autres outils
CRAP PHPMD
Complexité Cyclomatique PHPDepend, PHPMD
Complexité Npath PHPDepend, PHPMD
ELOC PHPDepend, phploc
Détection des Copier/Coller phpcpd
{ PHP_CodeBrowser
Montre les violations dans les sources
{ TOP mission Puls@r
Les défis :
Equipe jeune
Conception externe
Suivi d’externes !
{ Adaptation PHPCS
RefQual
Guide de Programmation PHP
Règles, Recommandations, Bonnes Pratiques
Identifiés par des codes
Souvent standard, parfois spécifiques
Création d’un standard PHPCS GN
{ Intégration PHP_Depend
Métriques++
Analyse Orienté Objet
{ Documentation & Formation
Outil riche mais composite
Prise en main complexe
Doc : installation, paramétrage, utilisation
Formation aux tests automatisés
PHPUnit, TDD, intégration Zend Studio, Zend_Test
{ Premiers retours « terrain »
Installation plutôt laborieuse
TU difficiles à mettre en place
PHPCS difficilement exploitable
Aucune visibilité sur les performances
{ Suivi périodique
Hebdomadaire, puis bimensuelle
Mise en place des environnements
Assistance technique
Suivi PIC
Audits de code
…
{ SQLI_CodeSniffer
Réponse aux problèmes d’usage GN
Identifier chaque violation
Attribuer sévérités et messages par configuration
Personnaliser les messages (RefQual)
Modifier dynamiquement les sévérités
Collecter des statistiques par type de violation
Repris dans la dernière version 1.3 de PHPCS
{ Couche Services
Modèle
Service
Contrôleur
Vue
API Métier
{ Couche Services
parallelisation des devs
tests et mocks obligatoires
conception d’un système d’instanciation des objets
doubles
DB Mock
Modèle
Service
Tests API
Mock Service
Contrôleur
Vue
TFM
{ Sélénium / Zend Platform
Analyse des performances dès les premières
développements
Aide à détecter rapidement des erreurs de
conception/implémentation
Utilise le pilotage de Sélénium par PHPUnit
Utilise la fonctionnalité de monitoring de la Zend
Platform
{ Sélénium / Zend Platform
PIC
Serveur TFA
Zend Platform
Intégration
WS
PHPUnit
Selenium RC
HTTP(S)
Monitoring
{ Sélénium / Zend Platform
PIC
Serveur TFA
Zend Platform
Intégration
1 lance avec ID
2 TFA
ID COOKIE
3 Collecte (avec info cookie)
4 WS Get
{ Sélénium / Zend Platform
{ Problèmes d’installation…
Plus de deux jours!
Erreur humaine inévitable
Documentation d’install de plus de 100 pages
{ Débianisation !
PHP-CI-PKG
Chaque outil est packagé
phpUnderControl est un paquet
CruiseControl aussi (merci Alexis Gruet)!
utilise dh-make-php
www.assembla.com/wiki/show/php-ci-pkg
{ Débianisation : gore details
Problèmes de packaging PEAR
Localisation différente de CruiseControl
Utilisation de dotdeb
Respect partiel des règles de débianisation
à finaliser et nettoyer par un pro Debian
Quelques volontaires dans la salle ? ;-)
{ The fastest PHPUC install !
La GN a un repository locale (avec dotdeb)
à partir d’une lenny « nue »
apt-get install php-phpuc
apt-get install pic-php-sqli
PHPUC opérationnel en quelques minutes
{ Puls@r now
Risques maitrisés
Montée en compétence des équipes
Des milliers d’assertions PHPUnit
{ PIC-PHP-SQLI now
Sonar
Plugin Sonar pour PHP (voir après)
Etat de l’art Java
Mieux outillé pour le suivi qualité
Évolution de la plateforme vers Hudson ?
Les développements/interfaces sont en PHP
{ Moralité n° 3
L’installation de l’outil ne suffit pas
L’IC est un ensemble de pratiques :
il faut un accompagnement au changement
{ Moralité n° 2
Moins de discrétion !
Plus de push
Lier la PIC aux déploiements
{ Moralité n° 1
Tests, tests, tests !
Le nerf de la guerre : IC  tests automatisés
{ Conclusion
http://www.flickr.com/photos/catikaoe/145208079/
{ Merci!
Questions/réponses

Contenu connexe

Tendances

Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration ContinueXavier Warzee
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyXavier Leune
 
Migrer de framework : de la réflexion à l'action
Migrer de framework : de la réflexion à l'actionMigrer de framework : de la réflexion à l'action
Migrer de framework : de la réflexion à l'actionXavier Leune
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
JCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsJCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsRossi Oddet
 
Rich Ajax Platform
Rich Ajax PlatformRich Ajax Platform
Rich Ajax Platformtarkaus
 

Tendances (6)

Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration Continue
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfony
 
Migrer de framework : de la réflexion à l'action
Migrer de framework : de la réflexion à l'actionMigrer de framework : de la réflexion à l'action
Migrer de framework : de la réflexion à l'action
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
JCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsJCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec Jenkins
 
Rich Ajax Platform
Rich Ajax PlatformRich Ajax Platform
Rich Ajax Platform
 

Similaire à Suivi de qualité PIC afup2010

"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFSDenis Voituron
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsHugo Hamon
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueXavier Callens
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptMichael Akbaraly
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...GSoft
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterGuillaume Deshayes
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatiséJérémie Campari
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !vincent aniort
 

Similaire à Suivi de qualité PIC afup2010 (20)

"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
 
PFE PPT2
PFE PPT2PFE PPT2
PFE PPT2
 

Suivi de qualité PIC afup2010

  • 1. { Suivi de qualité - PIC Plateforme d’Intégration Continue
  • 2. { Gabriele Santini Architecte/Consultant chez SQLI Responsable PIC-PHP-SQLI Plugin Sonar PHP
  • 3. { Avant le suivi qualité
  • 4. { Effet « tunnel » … bon voyage ! http://www.flickr.com/photos/kevinhooa/766337930
  • 5. { Code « totémisé » « Code qui marche tu ne toucheras point ! »
  • 6. { Problèmes de déployement
  • 8. { Enter : Intégration Continue! Automatise la procédure d’intégration l’étape de construction est appelée build A chaque build : Exécute les tests automatisés Analyse la qualité du produit Remonte des indicateurs (n°1 : état du build) Continue = build à chaque commit
  • 9. { Objectifs • Projet stable et déployable • Informations immédiates pour l’équipe de développement • Indicateurs continus pour la gestion du projet
  • 10. { Le projet GN Puls@r Projet d’envergure Gendarmerie Nationale • Le système de gestion des brigades • Gestion des « Formules », services, statistiques, … • V1 en Java (2005-2007) • Problèmes de montée en charge • Fonctionnel figé • Non maintenable en interne
  • 11. { Puls@r V2 : PHP
  • 12. { SQLI : suivi qualité Mise en place d’une PIC pour le projet Garantir la qualité des développements
  • 13. { PIC dans l’usine logicielle PIC OUTIL DE VERSIONING POSTES DE DEVELOPPEMENT SERVEUR D’INTEGRATION
  • 14. { PIC - Schéma sources Moteurdebuild TUA TFA GD … Consolidation Conf Conf Conf Conf Rapports XML Rapport de Build XML Graphes Artifacts Applicationweb
  • 15. { PIC-PHP-SQLI Fondée sur phpUnderControl Qui se « greffe » sur CruiseControl, moteur d’IC Java très stable phpUnderControl « patche » pour php le build et la restitution Consolide les résultats (stats, graphes)
  • 16. { Outils dans PUC phpUnderControl intègre : PHPUnit pour les tests unitaires et fonctionnels automatisés PHPUnit + Xdebug pour la couverture de code PHP_CodeSniffer pour la vérification des règles de codage (checkstyle) PHPDocumentor pour la gestion de la documentation PHPUnit (PHPMD) pour les métriques projet (PMD)
  • 17. { PHP_Documentor Génération de la documentation Travail collaboratif de l'équipe de développement Les IDEs l’utilisent pour l'autocomplétion phpDocumentor : Utilise et définit le standard de documentation phpDoc Artifact : site documentaire HTML Reporting de build avec les violations de documentation
  • 18. { PHP_CodeSniffer Garantir le respect des règles choisies Diminution du nombre d’anomalies Indicateur fin sur la qualité globale de l’application PHP_CodeSniffer : Solution OS de référence pour PHP Traite aussi Javascript et CSS Rapport XML en build Indicateur intégré dans les graphes phpUnderControl
  • 19. { PHP_Unit : TUA Exécution des Tests Automatisés Pivot de l’intégration continue : non régression PhpUnit : Projet mûr et parfaitement intégré dans l’univers des outils php Vaste panel de fonctionnalités (fixtures, mock objects, génération de squelettes, tests DB, ...) Exécute les TUA et fournit un rapport détaillé ainsi qu'un rapport d'état
  • 20. { PHP_Unit + Xdebug : CC Couverture de code Quelles parties du code sont couvertes par les tests Indicateur de l’efficacité des tests PhpUnit avec Xdebug : Collecte les informations de couverture de code pendant l’exécution Artifact : site HTML avec statistiques par dossier et détails par fichier Fournit un rapport détaillé consolidé dans des indicateurs et des violations PMD
  • 21. { PHP_Unit 3.2-3.X : PMD Calcul des métriques projet Remonté des violations liées aux valeurs anormales Fonctionnalité temporairement dans PHP_Unit Déportée par la suite dans d’autres outils CRAP PHPMD Complexité Cyclomatique PHPDepend, PHPMD Complexité Npath PHPDepend, PHPMD ELOC PHPDepend, phploc Détection des Copier/Coller phpcpd
  • 22. { PHP_CodeBrowser Montre les violations dans les sources
  • 23. { TOP mission Puls@r Les défis : Equipe jeune Conception externe Suivi d’externes !
  • 24. { Adaptation PHPCS RefQual Guide de Programmation PHP Règles, Recommandations, Bonnes Pratiques Identifiés par des codes Souvent standard, parfois spécifiques Création d’un standard PHPCS GN
  • 26. { Documentation & Formation Outil riche mais composite Prise en main complexe Doc : installation, paramétrage, utilisation Formation aux tests automatisés PHPUnit, TDD, intégration Zend Studio, Zend_Test
  • 27. { Premiers retours « terrain » Installation plutôt laborieuse TU difficiles à mettre en place PHPCS difficilement exploitable Aucune visibilité sur les performances
  • 28. { Suivi périodique Hebdomadaire, puis bimensuelle Mise en place des environnements Assistance technique Suivi PIC Audits de code …
  • 29. { SQLI_CodeSniffer Réponse aux problèmes d’usage GN Identifier chaque violation Attribuer sévérités et messages par configuration Personnaliser les messages (RefQual) Modifier dynamiquement les sévérités Collecter des statistiques par type de violation Repris dans la dernière version 1.3 de PHPCS
  • 31. { Couche Services parallelisation des devs tests et mocks obligatoires conception d’un système d’instanciation des objets doubles DB Mock Modèle Service Tests API Mock Service Contrôleur Vue TFM
  • 32. { Sélénium / Zend Platform Analyse des performances dès les premières développements Aide à détecter rapidement des erreurs de conception/implémentation Utilise le pilotage de Sélénium par PHPUnit Utilise la fonctionnalité de monitoring de la Zend Platform
  • 33. { Sélénium / Zend Platform PIC Serveur TFA Zend Platform Intégration WS PHPUnit Selenium RC HTTP(S) Monitoring
  • 34. { Sélénium / Zend Platform PIC Serveur TFA Zend Platform Intégration 1 lance avec ID 2 TFA ID COOKIE 3 Collecte (avec info cookie) 4 WS Get
  • 35. { Sélénium / Zend Platform
  • 36. { Problèmes d’installation… Plus de deux jours! Erreur humaine inévitable Documentation d’install de plus de 100 pages
  • 37. { Débianisation ! PHP-CI-PKG Chaque outil est packagé phpUnderControl est un paquet CruiseControl aussi (merci Alexis Gruet)! utilise dh-make-php www.assembla.com/wiki/show/php-ci-pkg
  • 38. { Débianisation : gore details Problèmes de packaging PEAR Localisation différente de CruiseControl Utilisation de dotdeb Respect partiel des règles de débianisation à finaliser et nettoyer par un pro Debian Quelques volontaires dans la salle ? ;-)
  • 39. { The fastest PHPUC install ! La GN a un repository locale (avec dotdeb) à partir d’une lenny « nue » apt-get install php-phpuc apt-get install pic-php-sqli PHPUC opérationnel en quelques minutes
  • 40. { Puls@r now Risques maitrisés Montée en compétence des équipes Des milliers d’assertions PHPUnit
  • 41. { PIC-PHP-SQLI now Sonar Plugin Sonar pour PHP (voir après) Etat de l’art Java Mieux outillé pour le suivi qualité Évolution de la plateforme vers Hudson ? Les développements/interfaces sont en PHP
  • 42. { Moralité n° 3 L’installation de l’outil ne suffit pas L’IC est un ensemble de pratiques : il faut un accompagnement au changement
  • 43. { Moralité n° 2 Moins de discrétion ! Plus de push Lier la PIC aux déploiements
  • 44. { Moralité n° 1 Tests, tests, tests ! Le nerf de la guerre : IC  tests automatisés