Industrialiser ses développements PHP
RMLL 2010
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 »
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-phpBlog : http://www.industrialisation-php.com/
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
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
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
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
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)
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
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
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
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
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)
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
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é pardes épaules de géants. »Isaac Newton
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
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
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é
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
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)
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
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
RMLL 2010 - 06 juillet 2010 23ALTER WAY - Industrialiser ses développements PHP
Merci
Me contacter :[email protected]
Des questions ?
Présentation : http://www.slideshare.net/jmf/Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-phpBlog : http://www.industrialisation-php.com/
Top Related