26
MON ENVIRONNEMENT DE TRAVAIL A-T-IL ENCORE UN AVENIR ? Par Sophie Beaupuis et Frédéric Dewinne

Mon environnement de travail a-t-il encore un avenir ?

Embed Size (px)

DESCRIPTION

Est-il encore rentable d’entretenir des outils de développement internes ? Quelles solutions existent pour les remplacer ?

Citation preview

Page 1: Mon environnement de travail a-t-il encore un avenir ?

MON ENVIRONNEMENT DE TRAVAIL A-T-ILENCORE UN AVENIR ?

Par Sophie Beaupuis et Frédéric Dewinne

Page 2: Mon environnement de travail a-t-il encore un avenir ?

QUI SOMMES-NOUS ?

Page 3: Mon environnement de travail a-t-il encore un avenir ?

FRÉDÉRIC DEWINNEdéveloppeur php depuis 2007passionné d'intégration / livraison continueconsultant @

co-fondateur de

Vesperia

continuousphp

Page 4: Mon environnement de travail a-t-il encore un avenir ?

SOPHIE BEAUPUISconsultante @ Zend Technologies

Page 5: Mon environnement de travail a-t-il encore un avenir ?

INDUSTRIALISER SON CODE

Page 6: Mon environnement de travail a-t-il encore un avenir ?

LES BUTS :Optimiser la stabilité des applicationsDiminuer les coûts de développementStandardiser les pratiques de développement

Page 7: Mon environnement de travail a-t-il encore un avenir ?

AU TRAVERS DES FRAMEWORKSZend Framework, Symfony, CakePHP, Yii, CodeIgniter, ...

Aide à se prémunir des coûts de maintenance defonctionnalités bas niveauPermet de bénéficier du travail et de l'expérience de lacommunautéAide à ne pas réinventer la roue

Page 8: Mon environnement de travail a-t-il encore un avenir ?

AU TRAVERS DES FRAMEWORKS DE TESTUNITAIRE

PHPUnit, atoum, ...

Aide à la définition des specs techniquesAide à garder une compatibilité ascendanteStandardise l'écriture des testsMeilleurs moyens pour détecter la source des bugsAide à appliquer une méthodologie de développement conduitpar les tests (TDD)Diminue drastiquement le coût des testsPermet d'implémenter la couche bas niveau de tests

Page 9: Mon environnement de travail a-t-il encore un avenir ?

AU TRAVERS DES FRAMEWORKS DE TEST DECOMPORTEMENT

Behat, PHPUnit, ...

Aide à tester les workflows d'exécutionStandardise l'écriture des specsAide à mettre en place des pratiques de développementconduit par le comportement (BDD) et agileDiminue le coût des testsSupporte des drivers de navigateur afin d'automatiser destests d'interface utilisateur (GUI)Permet d'implémenter la couche haut niveau de tests

Page 10: Mon environnement de travail a-t-il encore un avenir ?

AU TRAVERS DE GESTIONNAIRE DEDÉPENDANCES

Composer

Définit et installe les librairies dépendantes ainsi que leursversionsAjoute les mécanismes d'autoloadingFacilite la factorisation du code

Page 11: Mon environnement de travail a-t-il encore un avenir ?

LES PLATEFORMES DE VERSIONING DE CODEStocke l'historique du codeAide au développement collaboratifPermet de se connecter à des applications tierces pourfaciliter la mise en place d'une intégration continue

Page 12: Mon environnement de travail a-t-il encore un avenir ?

LE SERVEUR DE DÉVELOPPEMENTVagrant

Permet de développer avec un environement proche de laproductionPermet de versionner la configuration du serveur avec le codeCrée un serveur configuré très rapidement

Page 13: Mon environnement de travail a-t-il encore un avenir ?

LES SERVEUR D'AUTOMATISATION DE TESTJenkins, phpci, travis-ci, continuousphp, SensioLabsInsight, codeship, circleci, drone.io, ...

Permet de tester le code à chaque modification du code dansla plateforme de versioningAssure un code sain avant déploiement

Page 14: Mon environnement de travail a-t-il encore un avenir ?

LE BUILDPrépare le code sur l'environnement d'IC.Pilote les outils d'analyse : QATools, etc.Crée le package de déploiement

Page 15: Mon environnement de travail a-t-il encore un avenir ?

PHINGPortage de Ant en phpOrchestre des suites de tâchesCodé en php, donc facile à étendre en créant de nouvellestâchesDéfinition en XML

Page 16: Mon environnement de travail a-t-il encore un avenir ?

CAPISTRANOUtilitaire de déploiement écrit en RubyDéfinition des workflows de déploiement en RubyPeut déployer depuis le gestionnaire de versionFourni un "modèle" de workfowSupporte les opérations de rollbackImpose certaines limitations côté serveur (ssh)

Page 17: Mon environnement de travail a-t-il encore un avenir ?

ZEND DEPLOYMENToutil permettant de packager et déployer des applications surZend ServerDéploiement sur cluster en une seule opérationIntégration du rollback (versions payantes de Zend Server)Création de packages depuis Zend Studio, via l'api web ou enligne de commandePossibilité d'étendre le workflow de déploiement grâce auxévênements

Page 18: Mon environnement de travail a-t-il encore un avenir ?

LES OUTILS DE REPORTING ETD'ORCHESTRATION

Page 19: Mon environnement de travail a-t-il encore un avenir ?

JENKINSServeur d'intégration continueDispose de nombreux plugins pour phpLe plus utilisé aujourd'huiTemplate de configuration pour php fourni par SébastienBergmann

Page 20: Mon environnement de travail a-t-il encore un avenir ?

SONARQUBE (SONAR)Plateforme d'analyse de qualité de codeRassemble les indicateurs qualité relevés sur le codePlugins disponibles pour PHPPeut être utilisé en combinaison avec Jenkins

Page 21: Mon environnement de travail a-t-il encore un avenir ?

TRAVIS CIPlateforme d'orchestration de test en mode SaasFortement lié à GitHubPas de rapport consolidé

Page 22: Mon environnement de travail a-t-il encore un avenir ?

SENSIOLABS INSIGHTPlateforme d'analyse de qualité de code en mode SaasAnalyse statique du code uniquementAnalyse de performance, sécurité, qualité de code...Résultats des analyses pouvant être rendu publiqueIndicateurs fortement liés à Symfony

Page 23: Mon environnement de travail a-t-il encore un avenir ?

LES OUTILS DE MONITORING APPLICATIFMonitorer les applications PHP

Page 24: Mon environnement de travail a-t-il encore un avenir ?

NEW RELICAnalyse les performances applicatives en mode SaasCentralise le monitoring, serveur, base de données etapplicatifMesure les temps de réponse client, serveur, base de donnéesRendu très graphique

Page 25: Mon environnement de travail a-t-il encore un avenir ?

ZEND SERVERDispose d'outils d'investigation des causes dedysfonctionnement en productionMesure les temps de réponses, le nombre de session, etc...Alertes paramétrables (erreurs, performances, base dedonnées)Informations détaillées sur les alertesProfiling et debugging en production (Code tracing)