Industrialisation bar camp2010

869 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

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

Aucune remarque pour cette diapositive

Industrialisation bar camp2010

  1. 1. Industrialisation du développement PHP
  2. 2. <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Curieux </ul>Industrialisation du développement PHP Industrialisation (http://fr.wikipedia.org/wiki/Industrialisation): Processus de fabrication de produits manufacturés avec des techniques permettant une forte productivité du travail et qui regroupe les travailleurs dans des infrastructures constantes avec les horaires fixes et une réglementation stricte.
  3. 3. <ul><li>Cas d'une application web :
  4. 4. C'est une application tout comme les autres.
  5. 5. Problématique : </li></ul><ul>Comment s'assurer qu'une : <ul><li>Nouvelle fonctionnalité </li></ul></ul><ul><ul><li>Nouvelle correction de bug </li></ul></ul><ul>N'introduit pas de regression. </ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  6. 6. <ul><li>Tests ,
  7. 7. Dépôts,
  8. 8. Intégration Continue,
  9. 9. Déploiement. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  10. 10. <ul><li>Méthodes habituelles : </li></ul><ul><ul><li>Je développe
  11. 11. Je lance l'application et essaye 2-3 trucs pour voir si ca marche encore. </li></ul></ul><ul><li>Conséquences : (Manque d'exhaustivité) </li></ul><ul><ul><li>On ne pourra tester qu'une partie des fonstionnalités à chaque fois.
  12. 12. On ne teste presque jamais les situations créatrices de bug(données non attendues , format étrange, etc...).
  13. 13. Risque de mettre en production une application qui fonctionne pas. </li></ul></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  14. 14. <ul><li>Tests (unitaires & fonctionnelles) </li></ul><ul><li>Principe : </li></ul><ul><ul><li>Vérifier de façon automatisée le bon fonctionnement du système..
  15. 15. Permet de tester les cas limites oui créateurs de bug à chaque fois. </li></ul></ul><ul><li>Réalisation : ( codés par des développeurs ) </li></ul><ul><ul><li>Au fur et à mesure qu'ils développent les fonctionnalités.
  16. 16. Pour tester ses fonctionnalités. </li></ul></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  17. 17. Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>Test avec un mauvais Login et mot de passe Test avec un bon Login et mot de passe
  18. 18. <ul><li>Tests (unitaires & fonctionnelles) </li></ul><ul><li>Framework :
  19. 19. - Pour faciliter la vie aux développeurs, des frameworks de test ont été crées.
  20. 20. - PHP : PHPUnit ( http://www.phpunit.de/manual/3.4/en/index.html ) </li></ul><ul><li>Bonne pratique : </li></ul><ul><ul><li>Job d'un créateur d'application != job d'un créateur de tests
  21. 21. Faire avancer l'application: chacun son boulot! </li></ul></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  22. 22. <ul><li>Tests ,
  23. 23. Dépôts ,
  24. 24. Intégration Continue,
  25. 25. Déploiement. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  26. 26. <ul><li>Dépôts (Gestionnaire de versions) </li></ul><ul><li>1 logiciel = plusieurs versions </li></ul><ul><li>Conserver un historique de toutes les modifications de tous les fichiers de code. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  27. 27. <ul><li>Dépôts (Gestionnaire de versions) </li></ul><ul><li>Avantages :
  28. 28. - Reporter les corrections d'une version à une autre.
  29. 29. - Développer à plusieurs et récupérer les modifications des autres codeurs.
  30. 30. - Développer sur plusieurs versions à la fois.
  31. 31. - Sauvegarder le travail des développeurs de manière centralisée.
  32. 32. Pratique :
  33. 33. Le développeur exécute une construction privée avant de publier ses changements dans le référentiel de sources. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  34. 34. <ul><li>Dépôts (Gestionnaire de versions) </li></ul><ul><li>Interlocuteur unique d'un robot d'intégration
  35. 35. Il contient l'ensemble des artefacts nécessaires à la construction d'un projet:
  36. 36. - Codes sources.
  37. 37. - Fichiers de configuration.
  38. 38. - Données particulières (BD).
  39. 39. CVS, SVN, Mercurial, Git, etc... </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  40. 40. <ul><li>Tests ,
  41. 41. Dépôts ,
  42. 42. Intégration Continue ,
  43. 43. Déploiement. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  44. 44. <ul><li>Intégration Continue </li></ul><ul><li>Les développeurs livrent les modifications sur le dépôt de code.
  45. 45. Chaque enregistrement de modification sur le dépôt déclenche:
  46. 46. - Une compilation (pour les langages compilés).
  47. 47. - les test unitaires.
  48. 48. - la couverture des test.
  49. 49. Tout changement du code d'un logiciel est immédiatement pris en compte par une construction automatique d'intégration. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  50. 50. <ul><li>Intégration Continue : Phing </li></ul><ul><li>Framework PHP : Système de “build“ de projet basé sur Apache Ant.
  51. 51. Fonctionne comme un système traditionnel de build.
  52. 52. Utilise un fichier de build formaté en simple XML et des &quot;task&quot; qui étende des classes PHP.
  53. 53. Fonctionnalités :
  54. 54. - Inclus l'exécution tests PHPUnit et de simple test fonctionnel,
  55. 55. - Opérations de fichiers : (déplacements, copies, modifications,...),
  56. 56. - Outil de créations des packages PEAR,
  57. 57. - Exécution de requête SQL, .... </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  58. 58. <ul><li>Tests ,
  59. 59. Dépôts ,
  60. 60. Intégration Continue ,
  61. 61. Déploiement . </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  62. 62. <ul><li>Déploiement
  63. 63. Migration de BD (Phing et dbdeploy) </li></ul><ul><li>Le dossier “db“ contient les fichiers SQL
  64. 64. Le dossier “deploy“ contient nos scripts de build.
  65. 65. Le dossier “library“ contient le code de l'application et le dossier “public“ contiendra les scripts et fichiers accessibles directement à partir du web. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>Exemple de structure de l'application
  66. 66. <ul><li>Déploiement
  67. 67. Migration de BD (Phing et dbdeploy) </li></ul><ul><li>Build Scripts: fichier de configuration qui va exécuté la migration de la BD.
  68. 68. Le fichier est formaté sous la forme : clé=valeur, edité avec un quelconque éditeur de texte puis enregistré sous : deploy/build.properties. </li></ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul><ul>Prochain fichier à créer : deploy/build.xml. C'est le fichier qui indiquera a Phing ce que nous voulons qu'il fasse. </ul>
  69. 69. Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>
  70. 70. Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul><ul><li>Architecture de l'environnement </li></ul>
  71. 71. <ul>Architecture </ul>Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul>Script automatisable: Ant, MAVEN, Make, Phing
  72. 72. Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul><ul><li>Questions ? </li></ul>
  73. 73. Industrialisation du développement PHP <ul>Barcampcameroun – Juin 2010 Jean-Luc Nta - Développeur </ul><ul>MERCI - Twitter : lushkah911 - FaceBook : Jean-Luc NTA - Mail : [email_address] </ul><ul>- Blog : lushkah911.wordpress.com - Site web : http://www.fansdeslion.com </ul>

×