Industrialisation en PHP         UTT, Troyes, France, 20 mai 2010vendredi 28 mai 2010
Agenda               Maîtriser les cycles de développements               Accélérer le développement PHP               Con...
Qui parle?                Damien Seguy                Services expert en Open Source                Sécurité, performances...
vendredi 28 mai 2010
Yes, we take         questionsvendredi 28 mai 2010
vendredi 28 mai 2010
PHP romantiquevendredi 28 mai 2010
PHP aujourd’huivendredi 28 mai 2010
Sur le terrain               65 portails à refaire en 6 mois               6 personnes pour mettre à niveau 350 intranets ...
Trois mantravendredi 28 mai 2010
Trois mantra               Libérez-vous du codevendredi 28 mai 2010
Trois mantra               Libérez-vous du code               Capitalisezvendredi 28 mai 2010
Trois mantra               Libérez-vous du code               Capitalisez               Impliquez vos utilisateursvendredi...
∆ Convention                        ∆ IDE        ∆ Conception                        ∆ Framework ∆ Déploiement            ...
Libérez-vous         du codevendredi 28 mai 2010
Libérez vous du code               Le facteur bus                       Ne soyez pas le seul               Le facteur WTF ...
Libérez vous du code               S’arranger pour que l’on puisse travailler sans vous               Ne vous investissez ...
Conventions de codevendredi 28 mai 2010
Conventions de code               Il en existe de nombreuses                       PEAR, Zend Frameworks, Symfony...      ...
IDE               Choisissez celui qui vous convient le mieux                       Évitez les éditeurs trop simples      ...
IDE               Il faut au moins                       Navigateur de code, intégration avec un framework                ...
vendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworksvendredi 28 mai 2010
Frameworks               Choisissez en un                       Pour accélérer le développement                       Pour...
Au dela des frameworks               Les frameworks sont généralistes et techniques               Bâtissez votre propre bi...
VCS               Version Control System                       Subversion, git, CVS, mercurial               Résolution de...
vendredi 28 mai 2010
VCS                            Développement                        Tests                                                 ...
Le coeur du développementvendredi 28 mai 2010
∆ Convention                        ∆ IDE        ∆ Conception                        ∆ Framework ∆ Déploiement            ...
Capitalisationvendredi 28 mai 2010
Capitalisation               Accumuler à toutes les phases du projet               Capturer l’information au fil de l’eau ...
Tests  unitairesvendredi 28 mai 2010
Les tests aident à découpler               Évite les régressions             Production                                   ...
Tests unitaires               PHP Unit : standard de facto               Simple Test, Lemon, Zend_Test, phptvendredi 28 ma...
Conception               Description générale de l’application               Documents très variés               Diagramme...
Conception               Captures d’écran : WireFraming                       Axure, Basalmiq, pencil sketching           ...
Conception               Ayez un inventaire                       Classes, méthodes, constantes, $_SESSION,               ...
Déploiement automatisé               Phing, maven, ant, pear               Nécessaire pour l’intégration continue         ...
∆ Convention                        ∆ IDE        ∆ Conception                        ∆ Framework ∆ Déploiement            ...
Impliquer les          utilisateursvendredi 28 mai 2010
Impliquer les utilisateurs               Eviter l’effet tunnel               Savoir affronter le tsunami des questions    ...
Bug tracker               Mantis, Trac, Redline, Jira               Rassembler les retours des utilisateurs et clients en ...
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
Tests fonctionnels               A base de wiki : accessibles aux non-techniciens               Collecte de tests métiers,...
Intégration continue               Vérification du code en tâche de fond               phpUnderControl, Rephlux, Hudson, M...
vendredi 28 mai 2010
Méthodologies               Expliquer comment on produit le code                       Justifier comment on assure la qual...
Pratiques agiles               Les pratiques agiles sont souvent suffisantes               Codage par paire               ...
vendredi 28 mai 2010
La documentation               A transférer des développeurs aux utilisateurs               Les développeurs font la premi...
vendredi 28 mai 2010
Encore plus loin?               Déploiement continu (a la flickr)               Audits croisés               Audits collab...
Merci!               http://www.alterway.fr/               publications/               livre-blanc-industrialisation-php  ...
damien.seguy@alterway.fr         http://www.slideshare.net/dseguy/vendredi 28 mai 2010
Prochain SlideShare
Chargement dans…5
×

Industrialisation en PHP

1 071 vues

Publié le

Outils et méthodes modernes en PHP

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 071
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
22
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Industrialisation en PHP

  1. 1. Industrialisation en PHP UTT, Troyes, France, 20 mai 2010vendredi 28 mai 2010
  2. 2. Agenda Maîtriser les cycles de développements Accélérer le développement PHP Connaître et utiliser les outils et méthodesvendredi 28 mai 2010
  3. 3. Qui parle? Damien Seguy Services expert en Open Source Sécurité, performances, industrialisation Eleveurs d’elePHPants damien.seguy@alterway.frvendredi 28 mai 2010
  4. 4. vendredi 28 mai 2010
  5. 5. Yes, we take questionsvendredi 28 mai 2010
  6. 6. vendredi 28 mai 2010
  7. 7. PHP romantiquevendredi 28 mai 2010
  8. 8. PHP aujourd’huivendredi 28 mai 2010
  9. 9. Sur le terrain 65 portails à refaire en 6 mois 6 personnes pour mettre à niveau 350 intranets 120 événements par an, sur 150 serveurs Une application sur une ville : 12 villes pour Noel, 2 pays l’an prochain. Un employé à temps plein pour le déploiement Multiplier les commandes par 6 en 2 moisvendredi 28 mai 2010
  10. 10. Trois mantravendredi 28 mai 2010
  11. 11. Trois mantra Libérez-vous du codevendredi 28 mai 2010
  12. 12. Trois mantra Libérez-vous du code Capitalisezvendredi 28 mai 2010
  13. 13. Trois mantra Libérez-vous du code Capitalisez Impliquez vos utilisateursvendredi 28 mai 2010
  14. 14. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implicationvendredi 28 mai 2010
  15. 15. Libérez-vous du codevendredi 28 mai 2010
  16. 16. Libérez vous du code Le facteur bus Ne soyez pas le seul Le facteur WTF Écrivez du code qui peut être compris 50% du temps consacré à la production Ne vous mettez pas en travers du cheminvendredi 28 mai 2010
  17. 17. Libérez vous du code S’arranger pour que l’on puisse travailler sans vous Ne vous investissez pas dans votre code Rendez votre code accessible aux autresvendredi 28 mai 2010
  18. 18. Conventions de codevendredi 28 mai 2010
  19. 19. Conventions de code Il en existe de nombreuses PEAR, Zend Frameworks, Symfony... Choisissez en une Évitez de créer la votre Cela apporte de l’unité au travail en équipe Pour vérifier son application Code_sniffervendredi 28 mai 2010
  20. 20. IDE Choisissez celui qui vous convient le mieux Évitez les éditeurs trop simples Netbean / Symfony, Zend tools / Zend Framework Komodo / cakePHPvendredi 28 mai 2010
  21. 21. IDE Il faut au moins Navigateur de code, intégration avec un framework Editeur, coloration syntaxique, support des encodages intégration avec les tests unitaires interface avec VCSvendredi 28 mai 2010
  22. 22. vendredi 28 mai 2010
  23. 23. Frameworksvendredi 28 mai 2010
  24. 24. Frameworksvendredi 28 mai 2010
  25. 25. Frameworksvendredi 28 mai 2010
  26. 26. Frameworksvendredi 28 mai 2010
  27. 27. Frameworksvendredi 28 mai 2010
  28. 28. Frameworksvendredi 28 mai 2010
  29. 29. Frameworksvendredi 28 mai 2010
  30. 30. Frameworksvendredi 28 mai 2010
  31. 31. Frameworksvendredi 28 mai 2010
  32. 32. Frameworksvendredi 28 mai 2010
  33. 33. Frameworksvendredi 28 mai 2010
  34. 34. Frameworksvendredi 28 mai 2010
  35. 35. Frameworksvendredi 28 mai 2010
  36. 36. Frameworksvendredi 28 mai 2010
  37. 37. Frameworksvendredi 28 mai 2010
  38. 38. Frameworksvendredi 28 mai 2010
  39. 39. Frameworksvendredi 28 mai 2010
  40. 40. Frameworks Choisissez en un Pour accélérer le développement Pour son coté agréable et pratique Il doit avoir Des composants, des conventions, des tests unitaires, des utilitaires de mise en place Une communauté, des experts, des formationsvendredi 28 mai 2010
  41. 41. Au dela des frameworks Les frameworks sont généralistes et techniques Bâtissez votre propre bibliothèque métier Nous verrons bientôt des bibliothèques métiervendredi 28 mai 2010
  42. 42. VCS Version Control System Subversion, git, CVS, mercurial Résolution des conflits Permet le développement parallèle, le retour en arrière, les versions. Stocke et distribue le codevendredi 28 mai 2010
  43. 43. vendredi 28 mai 2010
  44. 44. VCS Développement Tests Production unitaires VCS Suivi de Intégration bugs continue Le code hors du VCS n’existe pas!vendredi 28 mai 2010
  45. 45. Le coeur du développementvendredi 28 mai 2010
  46. 46. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implicationvendredi 28 mai 2010
  47. 47. Capitalisationvendredi 28 mai 2010
  48. 48. Capitalisation Accumuler à toutes les phases du projet Capturer l’information au fil de l’eau Evitez les culs de sacs Toujours se demander qui va l’utiliser?vendredi 28 mai 2010
  49. 49. Tests unitairesvendredi 28 mai 2010
  50. 50. Les tests aident à découpler Évite les régressions Production Code Préviens votre rappel Affiche les progres Sert de manuel Aide aux communications Clientvendredi 28 mai 2010
  51. 51. Tests unitaires PHP Unit : standard de facto Simple Test, Lemon, Zend_Test, phptvendredi 28 mai 2010
  52. 52. Conception Description générale de l’application Documents très variés Diagrammes d’architecture Visio, Omnigraffle, Dia Diagrammes UML Diagrammes de classes, Cas d’utilisation StarUML, ArgoUML, BOUML,vendredi 28 mai 2010
  53. 53. Conception Captures d’écran : WireFraming Axure, Basalmiq, pencil sketching Modèle de données Power Architect, MySQL WorkBenchvendredi 28 mai 2010
  54. 54. Conception Ayez un inventaire Classes, méthodes, constantes, $_SESSION, inclusions, fichiers, dossiers,... Vérifiez l’utilisation réelle Prévoyez de faire des allers-retours avec la réalité La conception n’est pas la programmationvendredi 28 mai 2010
  55. 55. Déploiement automatisé Phing, maven, ant, pear Nécessaire pour l’intégration continue L’aspect le plus souvent négligé du développement Obligatoire pour les grandes architecturesvendredi 28 mai 2010
  56. 56. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implicationvendredi 28 mai 2010
  57. 57. Impliquer les utilisateursvendredi 28 mai 2010
  58. 58. Impliquer les utilisateurs Eviter l’effet tunnel Savoir affronter le tsunami des questions bugs, changements, nouveautés, adaptations, accélérations, etc. Rendre les utilisateurs autonome, faire qu’ils se prennent en chargevendredi 28 mai 2010
  59. 59. Bug tracker Mantis, Trac, Redline, Jira Rassembler les retours des utilisateurs et clients en un seul endroit Suivre leur évolution jusqu’à la conclusion Permet de produire le changelog A relier avec le VCS et le déploiementvendredi 28 mai 2010
  60. 60. vendredi 28 mai 2010
  61. 61. vendredi 28 mai 2010
  62. 62. vendredi 28 mai 2010
  63. 63. vendredi 28 mai 2010
  64. 64. vendredi 28 mai 2010
  65. 65. vendredi 28 mai 2010
  66. 66. Tests fonctionnels A base de wiki : accessibles aux non-techniciens Collecte de tests métiers, et non plus techniques Tests a priori, tests en direct Les développeurs assurent la liaison avec le code Green pepper, fitnesse, concordionvendredi 28 mai 2010
  67. 67. Intégration continue Vérification du code en tâche de fond phpUnderControl, Rephlux, Hudson, Maven, sonar, Xinc, script maison Présentation en graphique des résultats Compilation, code sniffer, tests unitaires, couverture de code Journaux, inclusion, performances...vendredi 28 mai 2010
  68. 68. vendredi 28 mai 2010
  69. 69. Méthodologies Expliquer comment on produit le code Justifier comment on assure la qualité Impliquer les utilisateurs! Cycles de développement courts Production, correction, adaptation Méthodologies agiles : SCRUM, XP, Lean SD, Open Unified Processvendredi 28 mai 2010
  70. 70. Pratiques agiles Les pratiques agiles sont souvent suffisantes Codage par paire Tester avant de coder Cycles courts de production Scénarios utilisateurs Poker collectif Point journalier (Daily Scrum)vendredi 28 mai 2010
  71. 71. vendredi 28 mai 2010
  72. 72. La documentation A transférer des développeurs aux utilisateurs Les développeurs font la première version Ajouter un système de commentaires Voir PHP.net : les commentaires sont plus intéressants que la documentation! Utiliser un Wiki Les utilisateurs font la documentationvendredi 28 mai 2010
  73. 73. vendredi 28 mai 2010
  74. 74. Encore plus loin? Déploiement continu (a la flickr) Audits croisés Audits collaboratifs Analyse statiquevendredi 28 mai 2010
  75. 75. Merci! http://www.alterway.fr/ publications/ livre-blanc-industrialisation-php Damien Seguy : damien.seguy@alterway.frvendredi 28 mai 2010
  76. 76. damien.seguy@alterway.fr http://www.slideshare.net/dseguy/vendredi 28 mai 2010

×