Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Industrialisez vos projets Php

4 345 vues

Publié le

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... (Unlimited)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Industrialisez vos projets Php

  1. 1. Petit Déjeuner EUROSITES GEORGE V Industrialisation PHP Hervé Leclerc : CTO Alter Way Solutions
  2. 2. <ul>Agenda </ul>Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices
  3. 3. <ul>Constat </ul>L'utilisation de PHP en entreprise hors des directions métiers et gouvernée par la DSI est relativement récente
  4. 4. <ul>Constat </ul>Les DSI se retrouvent désormais confrontées à différentes problématiques
  5. 5. Applicatifs hétérogènes <ul>Constat </ul>
  6. 6. <ul>Constat </ul>Bonnes pratiques de développement non définies ou dépendantes des applicatifs
  7. 7. <ul>Constat </ul>Qualité de code disparate
  8. 8. <ul>Constat </ul>Base de code non testée de manière automatique
  9. 9. <ul>Constat </ul>Pas ou peu d'indicateurs de qualité , de performance , de maintenabilité du code
  10. 10. <ul>Constat </ul>Pas de processus unifié sur l'ensemble des acteurs
  11. 11. <ul>Constat </ul>Pression continue de la production
  12. 12. <ul>Industrialisation : une définition </ul>Mise en œuvre de pratiques et d'outils visant à rendre les logiciels produits plus robustes , tout en restant dans des délais et des coûts maîtrisés .
  13. 13. <ul>Objectifs </ul>Gagner du temps en automatisant au maximum toutes les tâches récurrentes
  14. 14. <ul>Objectifs </ul>Gagner en qualité (documentation, tests unitaires, normes, respect des licences, mutualisation…)
  15. 15. <ul>Objectifs </ul>Raccourcir les cycles de mise en production
  16. 16. <ul>Objectifs </ul>Suivre l’évolution des projets par des indicateurs clés
  17. 17. <ul>Défis </ul>Exemples de défis quotidiens <ul><li>65 portails à refaire en 6 mois
  18. 18. 120 événements par an, sur 150 serveurs
  19. 19. 6 personnes pour mettre à niveau 350 intranets
  20. 20. Une application sur une ville : 12 villes pour Noël, 2 pays l’an prochain
  21. 21. Un employé à temps plein pour le déploiement </li></ul>
  22. 22. <ul>Outillage </ul><ul><li>Les outils sont nombreux et dissociés
  23. 23. Il faut du temps pour les mettre en place et les entretenir
  24. 24. Pour de nombreux petits projets, il faut les automatiser </li></ul>
  25. 25. <ul>Agenda </ul>Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices
  26. 26. <ul>Axes </ul>3 axes majeurs <ul><li>Libération du code
  27. 27. Capitalisation
  28. 28. Implication des utilisateurs </li></ul>
  29. 29. <ul>Axes -> Relations </ul>● IDE ● Framework ● Conception ● Déploiement ● SCM ● Tests ● IC ● Docs Techniques ● Méthodes ● Bug Tracking ● Tests Fonctionnels ● Documentation Utilisateur ● Debugging
  30. 30. <ul>IDE </ul>IDE  : I ntegrated D evelopment E nvironment
  31. 31. <ul>IDE </ul>Pourquoi utiliser un IDE ? Un éditeur simple n'est souvent pas suffisant Donner aux développeurs un environnement complet qui accélère et simplifie son travail
  32. 32. <ul>IDE </ul>Comment un IDE augmente la productivité et la qualité du travail : <ul><li>En fournissant un outil d'édition puissant , graphique
  33. 33. En utilisant des composants réseaux ( SCM SSH/FTP/WEBDAV ...)
  34. 34. En gérant les différents librairies et frameworks
  35. 35. En fournissant un environnement de débogage et tests intégrés
  36. 36. En facilitant la production de documentation </li></ul>
  37. 37. Fonctions intégrées <ul><li>Colorisation syntaxique
  38. 38. Auto-complétion
  39. 39. Intégration aux dépôts de code
  40. 40. Intégration avec un ou plusieurs frameworks
  41. 41. Débogueur
  42. 42. Profiler
  43. 43. Intégration d' outils externes (Tests unitaires, déploiement,..)
  44. 44. Refactoring et génération de code </li></ul>Quelques IDE open source <ul><li>Eclipse </li><ul><li>PDT, DLTK, Pulse, RT … </li></ul><li>NetBeans
  45. 45. Aptana </li></ul><ul>IDE </ul>
  46. 46. SCM : S ource C ontrol M anagement <ul><li>Gestion des versions et révisions de code
  47. 47. Outils très puissants permettant de gérer dans des dépôts centralisés ou non du code source
  48. 48. Facilite le travail en équipe
  49. 49. Historisation du code
  50. 50. Pérennité du code
  51. 51. Quelques SCM open source : </li><ul><li>Centralisés : CVS , Subversion
  52. 52. Décentralisés : Git , Bazaar , Mercurial </li></ul></ul><ul>SCM </ul>
  53. 53. <ul><li>Très souvent version pro
  54. 54. Ensemble de composants éprouvés et prêts à l'emploi
  55. 55. Cœur technique des projets
  56. 56. Simplifient , standardisent et accélèrent les développements
  57. 57. Imposent des règles strictes de développement </li></ul>Quelques Frameworks PHP <ul><li>Zend Framework
  58. 58. Symfony
  59. 59. Jelix
  60. 60. CakePHP
  61. 61. Yii
  62. 62. eZ Publish
  63. 63. Drupal
  64. 64. ... </li></ul><ul>Frameworks </ul>
  65. 65. Les Tests Ils sont de plusieurs types : <ul><li>Unitaires </li><ul><li>SimpleTest
  66. 66. PHPUnit </li></ul><li>Fonctionnels </li><ul><li>Selenium
  67. 67. SimpleTest
  68. 68. Cucumber </li></ul><li>Performance et montée en charge </li><ul><li>JMeter
  69. 69. OpenSTA
  70. 70. Twill </li></ul></ul>Ils sont automatisés Ils fournissent des résultats structurés utilisables dans des portails de restitution <ul>Tests </ul>
  71. 71. <ul>Intégration Continue </ul>
  72. 72. <ul>Intégration Continue </ul>
  73. 73. <ul>Intégration Continue </ul>Permet de valider , vérifier au fil de l'eau toutes les modifications effectuées sur un code source
  74. 74. <ul>Intégration Continue </ul>Permet de supprimer les effets négatifs des cycles en V
  75. 75. <ul>Intégration Continue </ul>Elle met en œuvre tous les outils et concepts vus précédemment
  76. 76. <ul>Intégration Continue </ul>Tous les processus sont automatisés
  77. 77. <ul>Intégration Continue </ul>La qualité du code est en permanence mesurée (couverture des tests unitaires et fonctionnels )
  78. 78. <ul>Intégration Continue </ul>Les indicateurs sont rassemblés dans une interface de présentation (Sonar/PHPUnderControl) ou Jenkins elle même
  79. 79. <ul>Intégration Continue </ul>La documentation est aussi générée automatiquement dans ces processus
  80. 80. <ul>Focus Qualimétrie </ul>
  81. 81. <ul>Focus Qualimétrie  </ul>phpcpd PHP_CodeSniffer Plugin
  82. 82. <ul>Jenkins </ul>
  83. 83. <ul>Jenkins </ul>
  84. 84. <ul>Jenkins </ul>
  85. 85. <ul>Jenkins </ul>
  86. 86. Architecture et conception Duplications Test unitaires Complexité Bogues potentiels Règles de codage Commentaires <ul>Sonar </ul>
  87. 87. <ul>Sonar </ul>
  88. 88. <ul>Sonar </ul>
  89. 89. <ul>PHPUnderControl </ul>
  90. 90. <ul>PHPUnderControl </ul>
  91. 91. <ul>Doxygen / PhpDoc </ul>Doxygen PhpDocumentor
  92. 92. <ul>Cornac </ul><ul>Audit Statique </ul>
  93. 93. <ul><li>Cornac : auditeur statique pour PHP
  94. 94. Édité par Alter Way, open source
  95. 95. https://github.com/alterway/cornac
  96. 96. Exécution automatique
  97. 97. Analyse sans exécution
  98. 98. Scrute l'application dans son ensemble
  99. 99. Proche de PHPMD et PHPDepend </li></ul><ul>Cornac </ul>
  100. 100. <ul><li>Inventaire d'application </li><ul><li>Prendre du recul sur l'application
  101. 101. Lister les noms utilisés
  102. 102. Lister les fonctionnalités utilisées
  103. 103. Voir rapidement les incohérences techniques </li></ul><li>Aspects techniques </li><ul><li>Lister tous les aspects techniques
  104. 104. Fonctionnalités PHP
  105. 105. Fonctionnalités avancées
  106. 106. Fonctionnalités obsolètes
  107. 107. Dépendances </li></ul></ul><ul><li>Migration 5.3 </li><ul><li>Fonctions obsolètes
  108. 108. Passage par référence
  109. 109. Référence après « new »
  110. 110. Ex : mktime ne prend plus 7 paramètres </li></ul><li>Nom de structure </li><ul><li>Extrait toutes les structures nommées
  111. 111. Étudie leurs conventions
  112. 112. Étudie leur ensemble
  113. 113. Étudie leur sémantique </li></ul></ul><ul>Cornac -> Principales fonctions </ul>
  114. 114. # ./bin/cornac -I spotweb.ini # « Tokenizeur » # Auditeur # Done <ul>Cornac -> inventaire </ul>
  115. 115. <ul>Cornac -> inventaire </ul>
  116. 116. <ul>Cornac -> Cartographie </ul>Réseau d'inclusion Utilisation des constantes Hiérarchies
  117. 117. <ul>Relations </ul>- Eclipse, NetBeans, Aptana - Zend, Symfony, Jelix, Yii, Cakephp, Drupal, eZ - ArgoUML, StarUML, PowerArchictect - Phing, Capistrano, Fabric - Hg, SVN, Git, CVS - SimpleTest, UnitTest, PHPUnit, PHPMD, PHPCD, PHPCS - Jenkins, Hudson, PhpUnderControl - Doxygen, PHPdocs - Agilefant, Xplanner, IceScrum, Agilo,XPStoryStudio - Jira, Redmine, Mantis - Selenium, GreenPaper - Xdebug, cachegrind, wireshark - Selenium, Httperf, Jmeter, Funkload - Docbook
  118. 118. <ul>Gestion des environnements </ul>Quatre types d'environnements classiques : <ul><ul><li>Développement
  119. 119. Intégration
  120. 120. Pré-production
  121. 121. Production </li></ul></ul>Développement <ul><ul><li>En local ou sur un serveur spécialisé
  122. 122. Débogueur et profileur disponibles
  123. 123. Affichage des erreurs </li></ul></ul>Intégration <ul><ul><li>Permet de d’effectuer la recette des changements </li></ul></ul>Pré-production <ul><ul><li>Identique à la production (performances, configuration, données) </li></ul></ul>Production <ul><ul><li>Optimisé pour la performance et la sécurité
  124. 124. Supervisé pour assurer la qualité de service </li></ul></ul>
  125. 125. <ul><li>Capistrano </li><ul><li>Ne faire que ce qui est utile
  126. 126. Le tout simplement
  127. 127. ROI assuré
  128. 128. Gestion des «  releases »
  129. 129. Gestion des «  rollbacks » </li></ul><li>Webistrano </li><ul><li>Interface WEB pour Capistrano
  130. 130. Gestion des droits possibles par greffons
  131. 131. Comptes-rendus et historiques
  132. 132. Gestion centralisée </li></ul></ul><ul>Automatisations </ul>
  133. 133. <ul><li>Interface Web pour gérer les déploiements </li></ul><ul><li>Gestions des différents « stages » </li></ul><ul><li>Dédramatisation des déploiements </li></ul><ul><li>Scenarii exportables (capistrano)
  134. 134. Recettes disponibles dans la communauté </li></ul><ul>Staging </ul>
  135. 135. <ul>Capistrano </ul><ul>Recettes </ul>
  136. 136. <ul>Webistrano </ul>
  137. 137. <ul>Webistrano </ul>
  138. 138. <ul>Webistrano </ul>
  139. 139. <ul>Webistrano </ul>
  140. 140. <ul>Webistrano </ul>
  141. 141. <ul>Webistrano </ul>
  142. 142. <ul>Implémentation IC typique </ul>Jenkins
  143. 143. <ul>Agenda </ul>Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices
  144. 144. <ul>Bénéfices </ul><ul><li>Augmentation et uniformisation de la qualité du code
  145. 145. Traçabilité
  146. 146. Visibilité (indicateurs)
  147. 147. Maintenabilité et pérennité
  148. 148. Confort du développeur
  149. 149. Montée en compétence facilitée
  150. 150. Faciliter les changements d'acteurs sur un projet
  151. 151. Dédramatisation des mises en production
  152. 152. Relations plus fluides avec l'exploitation </li></ul>

×