Industrialiser ses développements PHP - RMLL 2010

963 vues

Publié le

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 problèmes 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 ?

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

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive
  • phase de tests
    la techno doit rassurer les utilisateurs quant à sa capacité à rendre des services productifs
    atouts de PHP : Open Source, facile à installer et prendre en main, pragmatique
    phase de missions critiques
    des projets importants s'appuient sur la technologie
    Ce n'est plus la techno qui fait la différence mais les pratiques de développement
    phase de missions stratégiques
    la technologie est adoptée comme norme principale
    Il existe des méthodes et des outils standards mais leur choix et leur agencement est au cas par cas
  • Pas de solution miracle : HipHop est fait pour 1% des usages maximum
    Il existe des méthodes et des outils standards mais leur choix et leur agencement est au cas par cas
  • IDE :
    Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  • IDE :
    Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  • IDE :
    Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  • Un script n'est pas interrompu par une question, un appel téléphonique ou un mail urgent.
    Il n'est pas sujet au stress ou à la lassitude.
  • Industrialiser ses développements PHP - RMLL 2010

    1. 1. Industrialiser ses développements PHP RMLL 2010
    2. 2. RMLL 2010 - 06 juillet 2010 2ALTER WAY - Industrialiser ses développements PHP 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  Auteur du blog Industrialisation-PHP.com  Co-auteur du livre blanc « Industrialisation PHP »
    3. 3. RMLL 2010 - 06 juillet 2010 3ALTER WAY - Industrialiser ses développements PHP 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 2 000 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/
    4. 4. RMLL 2010 - 06 juillet 2010 4ALTER WAY - Industrialiser ses développements PHP 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
    5. 5. RMLL 2010 - 06 juillet 2010 5ALTER WAY - Industrialiser ses développements PHP Qu'est-ce que l'industrialisation ?  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  PHP a dépassé le stade de l'expérimentation
    6. 6. RMLL 2010 - 06 juillet 2010 6ALTER WAY - Industrialiser ses développements PHP 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
    7. 7. RMLL 2010 - 06 juillet 2010 7ALTER WAY - Industrialiser ses développements PHP 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
    8. 8. RMLL 2010 - 06 juillet 2010 8ALTER WAY - Industrialiser ses développements PHP 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)
    9. 9. RMLL 2010 - 06 juillet 2010 9ALTER WAY - Industrialiser ses développements PHP 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
    10. 10. RMLL 2010 - 06 juillet 2010 10ALTER WAY - Industrialiser ses développements PHP 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
    11. 11. RMLL 2010 - 06 juillet 2010 11ALTER WAY - Industrialiser ses développements PHP 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
    12. 12. RMLL 2010 - 06 juillet 2010 12ALTER WAY - Industrialiser ses développements PHP 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
    13. 13. RMLL 2010 - 06 juillet 2010 13ALTER WAY - Industrialiser ses développements PHP 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)
    14. 14. RMLL 2010 - 06 juillet 2010 14ALTER WAY - Industrialiser ses développements PHP 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
    15. 15. RMLL 2010 - 06 juillet 2010 15ALTER WAY - Industrialiser ses développements PHP 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. 16. RMLL 2010 - 06 juillet 2010 16ALTER WAY - Industrialiser ses développements PHP Eviter de réinventer la roue  Eviter le syndrôme « Pas inventé ici »  Se concentrer sur sa valeur ajoutée  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
    17. 17. RMLL 2010 - 06 juillet 2010 17ALTER WAY - Industrialiser ses développements PHP 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
    18. 18. RMLL 2010 - 06 juillet 2010 18ALTER WAY - Industrialiser ses développements PHP 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é
    19. 19. RMLL 2010 - 06 juillet 2010 19ALTER WAY - Industrialiser ses développements PHP 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
    20. 20. RMLL 2010 - 06 juillet 2010 20ALTER WAY - Industrialiser ses développements PHP 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)
    21. 21. RMLL 2010 - 06 juillet 2010 21ALTER WAY - Industrialiser ses développements PHP 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
    22. 22. RMLL 2010 - 06 juillet 2010 22ALTER WAY - Industrialiser ses développements PHP 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
    23. 23. RMLL 2010 - 06 juillet 2010 23ALTER WAY - Industrialiser ses développements PHP Merci  Me contacter : jean-marc.fontaine@alterway.fr  Des questions ? Présentation : http://www.slideshare.net/jmf/ Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/

    ×