Upload
neuros
View
1.222
Download
2
Embed Size (px)
DESCRIPTION
Présentation à la nAcademy (Janvier 2013) : industrialisation en PHP par Christophe Villeneuve
Citation preview
Industrialisation en PHP
Christophe Villeneuve
16 Janvier 2013
nAcademy – 16 Janvier 2013
Outils et méthodes
✔ Maîtriser vos cycles de développement
✔ Accélérer votre développement PHP
✔ Utilisez les bons outils et méthodes
PHP à l'ancienne
nAcademy – 16 Janvier 2013
PHP aujourd'hui
nAcademy – 16 Janvier 2013
La réalité
✔ Migration de 100 sites en un temps limité
✔ Une Team importante pour maintenir les projets
✔ Nombreux serveurs à maintenir
✔ Beaucoup de projets déployer en même temps
✔ 1 personne à plein temps pour 1 tâche répétitive
nAcademy – 16 Janvier 2013
nAcademy – 16 Janvier 2013
Libération du code
Libérez vous du code
✔ Le code doit fonctionner sans vous
✔ Ne vous investissez pas émotionnellement
✔ Appliquer un facteur Bus✔ Rendez le code accessible aux autres
nAcademy – 16 Janvier 2013
Outils de convention de code
✔ Choisissez une convention à partir d'un outil
✔ N'inventez pas le votre
✔ Cela apporte de l'unité au travail en équipe
✔ Contrôler votre application
nAcademy – 16 Janvier 2013
IDE
✔ Choisissez celui qui vous plait
✔ IDE associé au Framework
✔ Il faut au moins✔ Navigateur de code, Intégration avec un framework✔ Editeur, débogueur, colorisation syntaxique✔ Intégration des tests unitaires, intégration du framework✔ Support des encodages, déploiement
nAcademy – 16 Janvier 2013
Frameworks
✔ Choisissez en un pour la rapidité de développement✔ Il doit proposer
✔ Des composants, des conventions, des tests✔ Communauté, expertise, formations
✔ Bâtissez une couche de code métier
nAcademy – 16 Janvier 2013
Contrôle de version
✔ Résout les conflits
✔ Permet les versions,
Le développement parallèle
Le retour en arrière
✔ Stocke et distribue le code
nAcademy – 16 Janvier 2013
Capitalisez
nAcademy – 16 Janvier 2013
Capitalisez
✔ Accumulation des connaissances au long du projet
✔ Capturer de l'expérience au fil de l'eau
✔ Penser aux personnes qui vont maintenir le projet
nAcademy – 16 Janvier 2013
Outils Tests unitaires
✔ Simple Test✔ PHP Unit✔ Lemon✔ Zend_test✔ Atoum
nAcademy – 16 Janvier 2013
Pourquoi faire des tests ?
✔ Evitent les régressions✔ Evitent de vous appeler✔ Les progrès✔ Servent de manuel✔ Aident à la communication
nAcademy – 16 Janvier 2013
Conception
✔ Description générale de l'application
✔ Liste de tout ce qui est nommé
✔ Vérifier le résultat du code
✔ Diagrammes UML
✔ Modèles de données
nAcademy – 16 Janvier 2013
Déploiement automatique
✔ Nécessaire pour l'intégration continue
✔ Trop souvent oublié dans le développement
✔ Obligatoire sur les grandes plates-formes
nAcademy – 16 Janvier 2013
Impliquez les utilisateurs
nAcademy – 16 Janvier 2013
Impliquez les utilisateurs
✔ Eviter l'effet de tunnel
✔ Eviter la série des questions, des demandes
✔ Transmetter une partie du travail aux clients finaux
nAcademy – 16 Janvier 2013
Suivi de bug
✔ Connexion au déploiement, aux CVS
✔ Eviter le contact direct (utilisateurs VS développeurs)
✔ Créer le changement de log au fur et à mesure
nAcademy – 16 Janvier 2013
Tests fonctionnels
✔ Wiki : Utilisation possible pour les non techniques
✔ Capte des cas et des données métiers
✔ Tests directs
✔ Le développement fait le lien entre les tableaux et le code
nAcademy – 16 Janvier 2013
Intégration continue
✔ Vérification du code en tâche de fond
✔ Mémorise les résultats
✔ Partager avec les équipes, le client
nAcademy – 16 Janvier 2013
Méthologies
✔ Expliquer comment on fait le code
✔ Impliquer les utilisateurs dans le cycle
✔ Cycles de développement court
✔ Méthodes agiles
✔ Pratiques agiles au menu
nAcademy – 16 Janvier 2013
Documentation
✔ PHPDoc, commentaires taggés
✔ Développeurs aux utilisateurs
✔ La première version aux développeurs
✔ Ajouter des commentaires
✔ Wiki
nAcademy – 16 Janvier 2013
Questions ?
nAcademy – 16 Janvier 2013