Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Industrialiser PHP - Open World Forum 2011

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 36 Publicité

Industrialiser PHP - Open World Forum 2011

Télécharger pour lire hors ligne

L’utilisation de PHP est aujourd’hui généralisée dans tous les départements IT. Reconnue pour son évolutivité et son développement rapide, cette technologie doit désormais répondre à de fortes attentes en termes d’exigences et de qualité.

Quels sont les outils nécessaires pour piloter une équipe de développement de taille importante et produire plusieurs centaines de site web par an ? L’heure de l’industrialisation est venue, avec la mise en place d’une planification et d’une organisation de la production de code capables de détecter les bogues avant la publication.

Nous verrons les outils et méthodes nécessaires pour piloter la conception, la production, la publication et la gestion d’équipe.

L’utilisation de PHP est aujourd’hui généralisée dans tous les départements IT. Reconnue pour son évolutivité et son développement rapide, cette technologie doit désormais répondre à de fortes attentes en termes d’exigences et de qualité.

Quels sont les outils nécessaires pour piloter une équipe de développement de taille importante et produire plusieurs centaines de site web par an ? L’heure de l’industrialisation est venue, avec la mise en place d’une planification et d’une organisation de la production de code capables de détecter les bogues avant la publication.

Nous verrons les outils et méthodes nécessaires pour piloter la conception, la production, la publication et la gestion d’équipe.

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Industrialiser PHP - Open World Forum 2011 (20)

Publicité

Plus par Jean-Marc Fontaine (12)

Plus récents (20)

Publicité

Industrialiser PHP - Open World Forum 2011

  1. 1. Industrialiser PHP Open World Forum 2011 23/09/11 1
  2. 2. Qui suis-je ? Jean-Marc Fontaine Consultant pour Alter Way Consulting Président de l'AFUP (Association Française des Utilisateurs de PHP) Auteur du blog Industrialisation-PHP.com Co-auteur du livre blanc « Industrialisation PHP » 23/09/11 2
  3. 3. Livre blanc Industrialisation PHP Panorama des outils et méthodes d'industrialisation des développements PHP Publié en octobre 2009 Plus de 2 500 téléchargements Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/ 23/09/11 3
  4. 4. Ordre du jour Qu'est-ce que l'industrialisation ? Mettre en place un environnement de travail Former l'équipe Éviter de réinventer la roue S'assurer de la qualité du code Automatiser ce qui peut l'être Ce n'est pas que de la théorie 23/09/11 4
  5. 5. Qu'est-ce que l'industrialisation ? 23/09/11 5
  6. 6. Constat L'utilisation de PHP en entreprise hors des directions métiers et gouvernée par la DSI est relativement récente. Les DSI se retrouvent désormais confrontées à différentes problématiques : Applicatifs hétérogènes Bonnes pratiques de développement non définies ou dépendantes des applicatifs Qualité de code disparate Base de code non testée de manière automatique Pas ou peu d'indicateurs de qualité, de performance, de maintenabilité du code Pas de processus unifié sur l'ensemble des acteurs Pression continue de la production 23/09/11 6
  7. 7. Objectifs Gagner du temps en automatisant au maximum toutes les tâches récurrentes Gagner en qualité (documentation, tests unitaires, normes, respect des licences, mutualisation…) Gagner en réactivité Raccourcir les cycles de mise en production Suivre l’évolution des projets par des indicateurs clés 23/09/11 7
  8. 8. Mise en œuvre Pas de solution miracle valable pour tous Les outils sont nombreux et dissociés Il faut du temps pour les mettre en place et les entretenir Un accompagnement est souvent nécessaire 23/09/11 8
  9. 9. Mettre en place un environnement de travail 23/09/11 9
  10. 10. Dépôt de code Facilite le travail en équipe Permet d'avoir un historique du code Assure la pérennité du code Deux approches : Dépôts centralisés (CVS, Subversion) Dépôts décentralisés (Git, Mercurial, Bazaar) 23/09/11 10
  11. 11. IDE Éditeur de texte sous stéroïdes Fonctions généralement proposées : Colorisation syntaxique Autocomplétion Intégration aux dépôts de code Intégration avec un ou plusieurs frameworks Débogueur Profileur Intégration d'outils externes (Tests unitaires, déploiement, gestion de base de données, éditeur UML, prototypage, etc.) Standardisation des outils Intégration dans la chaîne de production 23/09/11 11
  12. 12. Quelques IDE Eclipse Zend Studio Netbeans Aptana Komodo 23/09/11 12
  13. 13. Environnements Développement En local ou sur un serveur spécialisé Débogueur et profileur disponibles Affichage des erreurs Pré-production Identique à la production (performances, configuration, données) Permet de recetter les changements Production Optimisé pour la performance et la sécurité Supervisé pour assurer la qualité de service 23/09/11 13
  14. 14. Former l'équipe 23/09/11 14
  15. 15. Former l'équipe Formation professionnelle Permet de rapidement entrer dans une nouvelle technologie Doit être suivie de mise en pratique pour être efficace Action ponctuelle Veille Permet de maintenir et de développer ses connaissances Web, livres, magazines, conférences, etc. Travail régulier et sur le long terme pour être payant Doit être structurée pour être exploitable par la suite Revue de code Améliore la connaissance du code Favorise la collaboration et le partage des connaissances Peut être rendue difficile par des aspects humains (timidité, orgueil, manque de tact) 23/09/11 15
  16. 16. Eviter de réinventer la roue 23/09/11 16
  17. 17. Eviter de réinventer la roue Eviter le syndrôme « Pas inventé ici » Se concentrer sur sa valeur ajoutée 23/09/11 17
  18. 18. Frameworks Ensemble de composants éprouvés et prêts à l'emploi Cœur technique des projets Simplifient, standardisent et accélèrent les développements Imposent des règles strictes de développement 23/09/11 18
  19. 19. Libraries Permettent de rapidement mettre en œuvre des fonctionnalités plus spécialisées (Génération d'images, de fichiers PDF, etc.) Attention à la qualité et à la pérennité 23/09/11 19
  20. 20. Design patterns Solutions éprouvées à des problèmes récurrents Capitalise sur l'expérience de 40 ans de programmation Permet de mettre un nom sur une problématique et sa solution 23/09/11 20
  21. 21. S'assurer de la qualité du code 23/09/11 21
  22. 22. Conventions Conventions de codage Chacun a ses habitudes Des conventions pour que la forme ne brouille pas la compréhension du fond Choisir une convention existante Conventions d'architecture Définition d'une structure normative pour les projets Permet un démarrage plus rapide des projets Permet une meilleure intégration dans les processus de suivi de la qualité 23/09/11 22
  23. 23. Tests automatisés Vérifier l'adéquation de l'application avec les spécifications Plusieurs types Unitaires (PHPUnit, SimpleTest, Atoum) IHM (Selenium, Watir, Sikuli) Fonctionnels (GreenPepper) De montée en charge (JMeter) Etc. Peuvent et doivent être lancés aussi souvent de possible Pas d'intervention humaine complexe pour les lancer Remontée d'alertes en cas de violation des spécifications Permet le suivi dans le temps de la qualité du projet 23/09/11 23
  24. 24. Analyse statique du code Analyze du code sans le faire fonctionner Permet de : Vérifier la syntaxe Recueillir des métriques Analyser les flux de données Outils : Cornac (Projet Open Source créé par Alter Way) PHP_CodeSniffer phploc Phpcpd PHP_Depend PHPMD 23/09/11 24
  25. 25. Intégration continue Permet de valider, vérifier au fil de l'eau toutes les modifications effectuées sur un code source. Permet de limiter les effets négatifs des cycles en V. Elle met en œuvre tous les outils et concepts vus précédemment Tous les processus sont automatisés La qualité du code est en permanence mesurée (couverture des tests unitaires et fonctionnels) Les indicateurs sont rassemblés dans une interface de présentation La documentation est aussi générée automatiquement dans ces processus 23/09/11 25
  26. 26. 23/09/11 26
  27. 27. 23/09/11 27
  28. 28. 23/09/11 28
  29. 29. Automatiser ce qui peut l'être 23/09/11 29
  30. 30. Automatiser ce qui peut l'être Évite des tâches nécessaires mais répétitives, fastidieuses et à faible valeur ajoutée Génération de code Permet de standardiser le code de l'application Permet de rendre plus vite autonome une nouvelle personne Déploiement automatisé Évite les erreurs humaines Assure que toutes les étapes seront faites et dans le bon ordre Permet de déployer plus vite et sur de nombreux serveurs en parallèle Tâches répétitives Création de dépôt de code pour un nouveau projet Création de branches et de tags Empaquetage de version 23/09/11 30
  31. 31. Outils Scripts shell Phing / Ant Capistrano / Webistrano 23/09/11 31
  32. 32. Webistrano 23/09/11 32
  33. 33. Ce n'est pas que de la théorie 23/09/11 33
  34. 34. Alter Way accompagne ses clients pour industrialiser leurs développements 23/09/11 34
  35. 35. Parcours de formation de 4 mois : Un tronc commun : les stagiaires bénéficieront d’un cursus initiatique dispensé par l’entité Formation d’Alter Way (organisme de formation leader sur la formation professionnelle Open Source) qui leur permettra d’acquérir une vision globale du secteur. L’apprentissage d’un métier : à l’issue de ce cursus commun les stagiaires auront la possibilité de se diriger vers le métier qui leur convient le mieux : développement, technicien système et réseau, recherche & développement, chef de projet web, etc. La contribution : les stagiaires, encadrés par des collaborateurs seniors, participeront aux projets contributifs d’Alter Way. http://www.alterway.fr/la-libre-academie 23/09/11 35
  36. 36. Des questions ? jean-marc.fontaine@alterway.fr 23/09/11 36

×