6. LES BUTS :
Optimiser la stabilité des applications
Diminuer les coûts de développement
Standardiser les pratiques de développement
7. AU TRAVERS DES FRAMEWORKS
Zend Framework, Symfony, CakePHP, Yii, CodeIgniter, ...
Aide à se prémunir des coûts de maintenance de
fonctionnalités bas niveau
Permet de bénéficier du travail et de l'expérience de la
communauté
Aide à ne pas réinventer la roue
8. AU TRAVERS DES FRAMEWORKS DE TEST
UNITAIRE
PHPUnit, atoum, ...
Aide à la définition des specs techniques
Aide à garder une compatibilité ascendante
Standardise l'écriture des tests
Meilleurs moyens pour détecter la source des bugs
Aide à appliquer une méthodologie de développement conduit
par les tests (TDD)
Diminue drastiquement le coût des tests
Permet d'implémenter la couche bas niveau de tests
9. AU TRAVERS DES FRAMEWORKS DE TEST DE
COMPORTEMENT
Behat, PHPUnit, ...
Aide à tester les workflows d'exécution
Standardise l'écriture des specs
Aide à mettre en place des pratiques de développement
conduit par le comportement (BDD) et agile
Diminue le coût des tests
Supporte des drivers de navigateur afin d'automatiser des
tests d'interface utilisateur (GUI)
Permet d'implémenter la couche haut niveau de tests
10. AU TRAVERS DE GESTIONNAIRE DE
DÉPENDANCES
Composer
Définit et installe les librairies dépendantes ainsi que leurs
versions
Ajoute les mécanismes d'autoloading
Facilite la factorisation du code
11. LES PLATEFORMES DE VERSIONING DE CODE
Stocke l'historique du code
Aide au développement collaboratif
Permet de se connecter à des applications tierces pour
faciliter la mise en place d'une intégration continue
12. LE SERVEUR DE DÉVELOPPEMENT
Vagrant
Permet de développer avec un environement proche de la
production
Permet de versionner la configuration du serveur avec le code
Crée un serveur configuré très rapidement
13. LES SERVEUR D'AUTOMATISATION DE TEST
Jenkins, phpci, travis-ci, continuousphp, SensioLabsInsight, codeship, circleci, drone.io, ...
Permet de tester le code à chaque modification du code dans
la plateforme de versioning
Assure un code sain avant déploiement
14. LE BUILD
Prépare le code sur l'environnement d'IC.
Pilote les outils d'analyse : QATools, etc.
Crée le package de déploiement
15. PHING
Portage de Ant en php
Orchestre des suites de tâches
Codé en php, donc facile à étendre en créant de nouvelles
tâches
Définition en XML
16. CAPISTRANO
Utilitaire de déploiement écrit en Ruby
Définition des workflows de déploiement en Ruby
Peut déployer depuis le gestionnaire de version
Fourni un "modèle" de workfow
Supporte les opérations de rollback
Impose certaines limitations côté serveur (ssh)
17. ZEND DEPLOYMENT
outil permettant de packager et déployer des applications sur
Zend Server
Déploiement sur cluster en une seule opération
Intégration du rollback (versions payantes de Zend Server)
Création de packages depuis Zend Studio, via l'api web ou en
ligne de commande
Possibilité d'étendre le workflow de déploiement grâce aux
évênements
20. SONARQUBE (SONAR)
Plateforme d'analyse de qualité de code
Rassemble les indicateurs qualité relevés sur le code
Plugins disponibles pour PHP
Peut être utilisé en combinaison avec Jenkins
22. SENSIOLABS INSIGHT
Plateforme d'analyse de qualité de code en mode Saas
Analyse statique du code uniquement
Analyse de performance, sécurité, qualité de code...
Résultats des analyses pouvant être rendu publique
Indicateurs fortement liés à Symfony
23. LES OUTILS DE MONITORING APPLICATIF
Monitorer les applications PHP
24. NEW RELIC
Analyse les performances applicatives en mode Saas
Centralise le monitoring, serveur, base de données et
applicatif
Mesure les temps de réponse client, serveur, base de données
Rendu très graphique
25. ZEND SERVER
Dispose d'outils d'investigation des causes de
dysfonctionnement en production
Mesure les temps de réponses, le nombre de session, etc...
Alertes paramétrables (erreurs, performances, base de
données)
Informations détaillées sur les alertes
Profiling et debugging en production (Code tracing)