Best Practices PHP 5
Total Page:16
File Type:pdf, Size:1020Kb
11676_BestPracticesPHP_XP 27/10/05 9:12 Page 1 Best practices architecte logiciel Quelles règles pour la création logicielle ? Quelles méthodes, quels outils ? PHP 5 L’enjeu est de taille : garantir la souplesse Ponçon et l’interopérabilité des applications métier. G. POO • UML • Design patterns • XP Au sommaire PHP est-il adapté à vos besoins ? Productivité. Architecture. SPL • PEAR • Tests unitaires • SVN Fiabilité. Portabilité. Performances et montée en charge. Zend Engine II. Conventions et outils. Méthodes agiles. MVC. Refactoring • Optimisation Bâtir sa propre méthode. Rôles dans l’équipe. Erreurs courantes. Le gestionnaire de versions. Règles de bonne Nul ne conteste les qualités de PHP en tant que plate-forme conduite. Création d’une branche. Subversion (SVN). Concurrent Versions System (CVS). L’environnement d’exécu- de développement web : simplicité, souplesse, richesse. Mais tion. Paramétrages. Le trio « développement/recette/produc- encore faut-il, pour en tirer parti, savoir adopter une tion ». Simplifier les développements en équipe. Environne- démarche, choisir une architecture adaptée, établir des règles ment sur mesure. Suivi planifié de la qualité. Contrôles automatisés, tests. Sauvegarde et archivage. Tâches de main- et des conventions… et s’outiller en conséquence. tenance. Choisir un éditeur. Eclipse, Zend Studio, Dreamwea- ver, PHPEdit, Quanta, etc. Choisir les outils d’administration. Gestion des données (LDAP, Flux, etc.). Stratégie de débo- Cet ouvrage répertorie, de la conception à l’exploitation, les gage. Monitoring. Qualité et performances. Choisir ressources meilleures pratiques de développement PHP et les erreurs et supports de données. Les extensions C. Les frameworks. courantes à éviter. Condensé d’expertise acquise au cours de PEAR. Fiabilité des ressources. Licences. Choix d’un SGBD. Abstraction de BD. Modèles conceptuel de données (MCD) et nombreuses années d’adoption de PHP en entreprise, il guide physique (MPD). Modélisation UML pour PHP. Analyse fonc- le développeur, le chef de projet et l’architecte dans l’optimi- tionnelle. Expression des besoins. Exigences. Contraintes. Identification des objets métier. Principaux diagrammes. Du practicesBest sation d’applications professionnelles. modèle à l’implémentation. MDA. Optimiser le modèle pour PHP. Modélisation agile. La POO avec PHP 5. Exploiter les fonctions natives. Interopérabilité et pérennité du modèle. Guillaume Ponçon Objets métier. Généricité. Les standards et l’existant. Design patterns. Factory, Builder, Singleton, etc. Exploiter les points Préface de Cyril Pierre de Geyer forts de PHP. Tableaux, documents XML, objets. SimpleXML, SAX, DOM, XSLT. Bibliothèque d’objets. Passer d’une structure à l’autre. Assurer la qualité. Réflexes d’optimisation. Mémoire et ressources. Exceptions. Débogage. Tests unitaires. Commenter, documenter. Refactoring. Moteurs de templates. Assurer la polyvalence. Interactions. Couplage fort/lâche. Services web. SOAP, REST, etc. Génération de code. Mise en cache. Définir les exigences pour l’exploitation. Environnement applicatif. Compilation d’Apache et PHP. Best practices Sécurité et maintenance. Routines de sauvegarde. Rapports d’incidents. Surveillance système et applicative. La Zend platform. Installation/paramétrage. Témoignages. Zeev Suraski (membre du PHPGroup)… Conception : Nord Compo PHP5 2 De l’analyse des besoins à la conception J2EE Universitaire et diplômé de l’ÉPITA, professionnel dans une SSII et 6 7 membre actif de plusieurs associations liées à PHP dont l’AFUP 6 (Association française des utilisateurs de PHP), Guillaume Ponçon 1 1 travaille depuis 7 ans sur des projets informatiques pour le Web. En 2 1 collaboration étroite avec les meilleurs architectes PHP et J2EE 2 francophones, il contribue en tant qu’expert, formateur et conférencier 2 8 ISBN : 2-212-11676-4 à la réussite de nombreux projets professionnels et associatifs. 7 Code éditeur : G11676 9 PHP5 39 € titre_archi_XP 21/10/05 14:51 Page 1 ����������� � � � � � � � � �������������� ��� � CHEZ LE MÊME ÉDITEUR Dans la collection Architecte logiciel X. BLANC. – MDA en action. Ingénierie logicielle guidée par les modèles. N°11539, 2005, 294 pages. F. VALLÉE. – UML pour les décideurs. N°11621, 2005, 300 pages. P. ROQUES, F. VALLÉE. – UML 2 en action. De l’analyse des besoins à la conceptions J2EE. N°11462, 3e édition, 2004, 380 pages + posters. J.-L. BÉNARD, L. BOSSAVIT, R. MÉDINA, D. WILLIAMS. – Gestion de projet Extreme Programming. N°11561, 2002, 300 pages. À propos de PHP C PIERRE DE GEYER, E. DASPET. – PHP 5 avancé. N°11669, 2e édition, 2005, 804 pages. P. CHALÉAT, D. CHARNAY ET J.-R. ROUET. – PHP et JavaScript (Les Cahiers du programmeur). N°11678, 2005, 224 pages. J.-M. DEFRANCE. – PHP/MySQL avec Flash MX 2004. N°11468, 2005, 710 pages. J.-M. DEFRANCE. – PHP/MySQL avec Dreamweaver MX 2004. N°11414, 2004, 550 pages. J. ENGELS. – PHP 5. Cours et exercices. N°11407, 2005, 518 pages. S.MARIEL. – PHP 5 (Les Cahiers du programmeur). PHP et XML. N°11234, 2004, 288 pages. J.-P. LEBOEUF. – PHP 5 et MySQL (Les Cahiers du programmeur). Première application avec PHP 5 et MySQL. N°11496, 2004, 240 pages. S. MARIEL. – PostgreSQL (Les Cahiers du programmeur). Services Web avec PostgreSQL et PHP/XML. N°11166, 2003, 150 pages. Programmation objet et modélisation UML H. BERSINI, I WELLESZ. – L’orienté objet. N°11538, 2004, 550 pages. P. ROQUES. – UML 2 par la pratique. Cours et exercices. N°11680, 2e édition, 2005, 352 pages. P. ROQUES. –UML (Les Cahiers du programmeur). Modéliser un site e-commerce. N°11070, 2002, 170 pages. A. ROCHFELD, P. RIGAUX. – Traité de modélisation objet. Avec onze études de cas. N°11035, 2002, 308 pages. titre_archi_XP 21/10/05 14:51 Page 2 � � � � � � � � � � � � � � � � ������������������� � � � � � � � � � � � � � � �������������� ����������������������������������� � ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2006, ISBN : 2-212-11676-4 Préface Réussir un logiciel ce n’est pas seulement produire des milliers de lignes de code ; c’est un travail de réflexion, de modélisation, c’est une équipe, des méthodes, des outils mais aussi de l’entretien et des évolutions. À travers ce livre que j’ai eu le plaisir de lire et relire, j’ai vu apparaître petit à petit la réponse aux questions que tout informaticien doit se poser pour réaliser une applica- tion web d’envergure. PHP est un outil exceptionnel à multiples facettes ; d’un côté une programmation souple et facile, celle qui a fait son succès ; d’un autre côté une plate-forme complète adaptée à des projets critiques. Avec PHP ce n’est pas la technologie qui décide mais l’informaticien. Vous souhaitez développer vite un petit logiciel ? Inutile alors d’appliquer les grands moyens : vous pouvez travailler en procédural suivant une logique page par page. Si au contraire vous souhaitez développer un outil complet avec toute votre équipe, libre à vous alors de définir un cadre plus strict nécessaire à sa bonne réalisation ! C’est dans cette dernière optique que ce livre a été pensé et réalisé : vous offrir la pos- sibilité de passer à la vitesse supérieure avec PHP et d’attaquer un développement avec toutes les cartes en main. « Best practices PHP » est un livre qu’il vous faut absolument consulter pendant toutes les étapes d’un projet. Il s’adresse tant aux architectes qu’aux chefs de projets et aux développeurs. Il vous permettra de poser les jalons nécessaires à la réussite de votre entreprise. Ce livre est fait pour vous si vous utilisez ou souhaitez utiliser PHP dans un cadre pro- fessionnel. Grâce à cet ouvrage, les développeurs web pourront franchir une étape et les informaticiens confirmés appréhenderont mieux les bonnes pratiques à avoir dans un contexte web. Cyril Pierre de Geyer Co-fondateur de l’Association française des utilisateurs de PHP Directeur technique d’Anaska Remerciements Écrire un livre est une expérience à la fois enrichissante et difficile. C’est une occa- sion unique de vivre sa passion et de la faire partager, mais aussi un long travail de recherche, d’écriture, de lecture et de relecture continue qu’il est difficile d’entre- prendre seul. Je tiens à remercier l’ensemble des contributeurs de Best practices PHP pour le temps et l’énergie qu’ils ont consacré au projet. En particulier... Pour leurs contributions techniques et leur soutien : Cyril Pierre de Geyer, directeur technique d’Anaska, qui s’est beaucoup investi malgré son emploi du temps chargé, Matthieu Mary, expert PHP, qui a été présent en permanence, Perrick Penet et Patrice Pichereau qui ont consacré du temps sur les sujets spécifiques qu’ils maîtrisent. Pour leur confiance et la qualité de leur travail : l’équipe Eyrolles, en particulier Muriel Shan Sei Fan sans qui ce projet n’aurait pas vu le jour, Anne Bougnoux,