Industrialiser PHP - Open World Forum 2011
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Industrialiser PHP - Open World Forum 2011

le

  • 2,669 vues

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 ...

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.

Statistiques

Vues

Total des vues
2,669
Vues sur SlideShare
1,971
Vues externes
698

Actions

J'aime
2
Téléchargements
30
Commentaires
0

10 Ajouts 698

http://www.mathieurobin.com 670
http://lanyrd.com 8
https://twitter.com 6
http://a0.twimg.com 4
http://a0.twimg.com 4
http://www.scoop.it 2
http://dev.mathieurobin.com 1
http://feeds.feedburner.com 1
http://twitter.com 1
http://dev.mathieurobin.com 1
Plus...

Accessibilité

Catégories

Détails de l'import

Uploaded via as Adobe PDF

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

Industrialiser PHP - Open World Forum 2011 Presentation Transcript

  • 1. Industrialiser PHP Open World Forum 201123/09/11 1
  • 2. Qui suis-je ? Jean-Marc Fontaine Consultant pour Alter Way Consulting Président de lAFUP (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. Livre blanc Industrialisation PHP Panorama des outils et méthodes dindustrialisation 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. Ordre du jour Quest-ce que lindustrialisation ? Mettre en place un environnement de travail Former léquipe Éviter de réinventer la roue Sassurer de la qualité du code Automatiser ce qui peut lêtre Ce nest pas que de la théorie23/09/11 4
  • 5. Quest-ce que lindustrialisation ?23/09/11 5
  • 6. Constat Lutilisation 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 dindicateurs de qualité, de performance, de maintenabilité du code Pas de processus unifié sur lensemble des acteurs Pression continue de la production23/09/11 6
  • 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és23/09/11 7
  • 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écessaire23/09/11 8
  • 9. Mettre en place un environnement de travail23/09/11 9
  • 10. Dépôt de code Facilite le travail en équipe Permet davoir 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. 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 doutils 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 production23/09/11 11
  • 12. Quelques IDE Eclipse Zend Studio Netbeans Aptana Komodo23/09/11 12
  • 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 service23/09/11 13
  • 14. Former léquipe23/09/11 14
  • 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. Eviter de réinventer la roue23/09/11 16
  • 17. Eviter de réinventer la roue Eviter le syndrôme « Pas inventé ici » Se concentrer sur sa valeur ajoutée23/09/11 17
  • 18. Frameworks Ensemble de composants éprouvés et prêts à lemploi Cœur technique des projets Simplifient, standardisent et accélèrent les développements Imposent des règles strictes de développement23/09/11 18
  • 19. Libraries Permettent de rapidement mettre en œuvre des fonctionnalités plus spécialisées (Génération dimages, de fichiers PDF, etc.) Attention à la qualité et à la pérennité23/09/11 19
  • 20. Design patterns Solutions éprouvées à des problèmes récurrents Capitalise sur lexpérience de 40 ans de programmation Permet de mettre un nom sur une problématique et sa solution23/09/11 20
  • 21. Sassurer de la qualité du code23/09/11 21
  • 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 darchitecture Définition dune 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. Tests automatisés Vérifier ladéquation de lapplication 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 dintervention humaine complexe pour les lancer Remontée dalertes en cas de violation des spécifications Permet le suivi dans le temps de la qualité du projet23/09/11 23
  • 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 PHPMD23/09/11 24
  • 25. Intégration continue Permet de valider, vérifier au fil de leau 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 processus23/09/11 25
  • 26. 23/09/11 26
  • 27. 23/09/11 27
  • 28. 23/09/11 28
  • 29. Automatiser ce qui peut lêtre23/09/11 29
  • 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 lapplication 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 version23/09/11 30
  • 31. Outils Scripts shell Phing / Ant Capistrano / Webistrano23/09/11 31
  • 32. Webistrano23/09/11 32
  • 33. Ce nest pas que de la théorie23/09/11 33
  • 34. Alter Way accompagne ses clients pour industrialiser leurs développements23/09/11 34
  • 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-academie23/09/11 35
  • 36. Des questions ? jean-marc.fontaine@alterway.fr23/09/11 36