Solutions Linux 2010 - Maîtrise du développement PHP
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Solutions Linux 2010 - Maîtrise du développement PHP

on

  • 1,623 views

Le comportement d’un applicatif PHP au sein d’une infrastructure complexe en production est souvent une zone d’ombre pour les développeurs. La détection et la résolution des «bugs» ou ...

Le comportement d’un applicatif PHP au sein d’une infrastructure complexe en production est souvent une zone d’ombre pour les développeurs. La détection et la résolution des «bugs» ou comportement en situations extrêmes restent des tâches ardues.
Quelle stratégie adopter, quels outils mettre en place et comment organiser ses équipes quand PHP est amené à être un socle technique pour des applications critiques. Une conférence indispensable pour tout architecte ou DSI souhaitant mettre en place ou sous traiter son infrastructure PHP.

Statistics

Views

Total Views
1,623
Views on SlideShare
1,344
Embed Views
279

Actions

Likes
2
Downloads
14
Comments
0

3 Embeds 279

http://www.industrialisation-php.com 276
http://www.slideshare.net 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Solutions Linux 2010 - Maîtrise du développement PHP Presentation Transcript

  • 1. Maîtrise du développement PHP Solutions Linux 2010
  • 2. Qui suis-je ?  Jean-Marc Fontaine  Consultant pour Alter Way Consulting  Responsable du centre de compétences PHP pour Alter Way Solutions  Formateur pour Alter Way Formation  Professeur vacataire à l'INSSET de Saint Quentin  Membre Actif de l'AFUP  Co-auteur du livre blanc « Industrialisation PHP » 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 2
  • 3. Livre blanc « Industrialisation PHP »  Co-écrit avec Damien Seguy  Panorama des outils et méthodes d'industrialisation des développements PHP  Publié en octobre 2009  Plus de 1 800 téléchargements  Livre en préparation Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/ 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 3
  • 4. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 4
  • 5. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 5
  • 6. Qu'est-ce que l'industrialisation ?  PHP a dépassé le stade de l'expérimentation  Trois phases pour la reconnaissance d'une technologie en entreprise :  la phase de tests  la phase de missions critiques  la phase de missions stratégiques 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 6
  • 7. Qu'est-ce que l'industrialisation ?  Une définition : 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  Pas de solution miracle valable pour tous  Un accompagnement est généralement nécessaire 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 7
  • 8. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 8
  • 9. 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) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 9
  • 10. IDE de développement  Editeur 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 10
  • 11. Environnements  Trois types d'environnements classiques :  Développement  Pré-production  Production  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é  Monitoré pour assurer la qualité de service 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 11
  • 12. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 12
  • 13. 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  Mini-conférences internes  Partage de connaissance au sein de l'équipe  Valorisation des personnes 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 13
  • 14. Former l'équipe  Programmation en binôme  Pratique prônée par les méthodes agiles  Partage informel des connaissances  Améliore les relations humaines au sein de l'équipe  Changer régulièrement les binômes  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) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 14
  • 15. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 15
  • 16. Eviter de réinventer la roue « Si j'ai vu plus loin que les autres, c'est parce que j'ai été porté par des épaules de géants. » Isaac Newton 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 16
  • 17. Eviter de réinventer la roue  Eviter le syndrôme « Pas inventé ici »  Frameworks  Permettent de standardiser et d'accélérer les développements en donnant un cadre de travail  Librairies  Permettent de rapidement mettre en œuvre des fonctionnalités plus spécialisées (Génération d'images, de fichiers PDF, etc.)  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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 17
  • 18. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 18
  • 19. Conventions de codage et d'architecture  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é 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 19
  • 20. Tests automatisés  Vérifier l'adéquation de l'application avec les spécifications  Plusieurs types  Unitaires  IHM  Fonctionnels,  De montée en charge  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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 20
  • 21. Intégration continue  Concept lié aux méthodes agiles  Plus l'intégration des nouveaux développements est régulière moins elle est coûteuse  Automatisation processus  Permet de s'assurer de la qualité du projet avant recette manuelle et déploiement en production  Actions courantes :  Exécution des tests  Vérification des conventions de codage  Extraction de métriques (nombre de tests, couverture de code, taille du code, etc.)  Génération des documentations (technique, utilisateur) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 21
  • 22. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 22
  • 23. Automatiser ce qui peut l'être  Evite 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é  Evite 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 23
  • 24. Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 24
  • 25. Partager la connaissance  Se prémunir des indisponibilités, des départs  Faciliter l'intégration de nouvelles personnes  Programmation en binôme  Revue de code  Documentations  Architecture  Technique  Utilisateur  Commentaires dans le code  Format PHPDOC  Un commentaire inutile est pire que pas de commentaire 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 25
  • 26. Merci  Me contacter : jean-marc.fontaine@alterway.fr  Retouver cette présentation : http://www.slideshare.net/jmf  Des questions ? 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 26