utilisation optimale et professionnelle de php

Post on 26-Dec-2014

2.581 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Cette conférence a été donnée en collaboration avec Guillaume Ponçon, auteur du livre "PHP5 Best Practices". Elle évoque les outils et méthodes permettant de développer avec PHP de manière professionnelle.

TRANSCRIPT

Utilisation optimale et professionnelle de PHP

PHPUtilisation optimale et professionnelle

Utilisation optimale et professionnelle de PHP

Vos conférenciers

● Jean-Marc FontaineFondateur de Kanopéejmf@kanopee.net

● Guillaume PonçonArchitecte / Formateur PHP chez AnaskaAuteur de l'ouvrage français Best Practices PHP 5(présenté à la fin de ce document)

guillaume@anaska.com

Utilisation optimale et professionnelle de PHP

De quoi allons-nous parler ?

● Optimiser son espace de travail● Optimiser ses développements● Optimiser un projet PHP en équipe● Optimiser le déploiement des applications● Optimiser les performances à l'exécution

Utilisation optimale et professionnelle de PHP

Installation de PHP

● Installation d'un paquetage (ex : WAMP)

– Avantages : installation très rapide et facile de PHP, Apache, MySQL et d'outils (phpMyAdmin, etc.)

– Inconvénients : stabilité et performances figés● Compilation manuelle sur mesure

– Avantages : performances, stabilité, aucune limitation

– Inconvénients : installation longue, demande des connaissances.

Utilisation optimale et professionnelle de PHP

Adaptation de l'installation à l'environnement

● En développement et en pré-production

– Niveau d'erreur maxi, affiché à l'écran– Débogueur, profileur– Tests de recette

● En production

– Niveau d'erreur réduit, logué, non affiché– Optimiseur (cache d'opcodes)– Monitoring et remontée d'information

Utilisation optimale et professionnelle de PHP

Installation de PHP : erreurs du monde professionnel

● Laisser la "conf par défaut"● Ignorer l'importance débogage / le profiling● Utiliser des vieilles version de PHP et ne pas

évoluer. ● Ne pas utiliser de cache d'opcodes quand celui-

ci peut significativement optimiser les performances.

● Demo : install manuelle / Xdebug / KCacheGrind

Utilisation optimale et professionnelle de PHP

Installation de PHP : débogage : Xdebug + Kcachegrind

Utilisation optimale et professionnelle de PHP

Installation de PHP : quelques liens

● WAMP : http://www.wampserver.com● PHP : http://www.php.net

Utilisation optimale et professionnelle de PHP

Espace de travail : quelques outils

● IDE simples– Scite / UltraEdit / Crimson Editor– Emacs / Xemacs / VI / VIM

● IDE de taille moyenne– PHP Edit / Komodo

● IDE Avancés– PHP Eclipse– Zend Studio

Utilisation optimale et professionnelle de PHP

Développement : les architectures types

● Le site simple– Ne nécessite aucune ou peu de préparation– Stratégie de débogage à la "if" / "echo",

var_dump()● Le site lourd ou le système d'information

– Préparation préalable– Séparation du code et de la présentation– Logique métier indépendante– Débogage avancé

Utilisation optimale et professionnelle de PHP

Développement : les architectures types

● Le portail complexe– Stratégie de performances en charge– Souvent basé sur un motif MVC– Débogage et profiling avancé– POO & gestion rigoureuse des exceptions– Gestion du projet sur IDE avancé– Documentation basée sur phpdoc– Gestion des événements / stratégie de

remontée d'informations

Utilisation optimale et professionnelle de PHP

Développement : erreurs du monde professionnel

● Négliger les possibilités POO de PHP 5● Négliger les évolutions de PHP 5 : XML,

extensions nouvelle génération, SPL, etc.● Trop de souplesse, pas assez de rigueur● Des conventions trop vagues et peu appliquées,

voir inexistantes● Ne pas savoir doser entre procédural et objet

Utilisation optimale et professionnelle de PHP

Choisir un framework

● Il existe de nombreux frameworks en PHP– Copix, Zend Framework, etc.

● Un bon framework est...– Pérenne : souvent mis à jour par une équipe

compétente et toujours compatible avec la dernière version stable de PHP.

– Simple et efficace : il ne comporte pas 36 couches d'abstractions et ne requiert pas 3 jours d'études pour être adopté.

Utilisation optimale et professionnelle de PHP

L'architecture MVC

● Une application basée sur MVC :

Modèle

Contrôleur

Vue

visiteur

Données templates

Bibliothèques

Utilisation optimale et professionnelle de PHP

Exemple de framework : Zend

● Une volonté de simplicité● Basé sur une architecture MVC● Des conventions de développement complètes● De nombreuses libraires● Possibilité de créer ses objets ou d'en ajouter.

● Demo : petite appli de gestion de tâches

Utilisation optimale et professionnelle de PHP

La documentation

PHPDOC est la norme à respecter.

PHPDOCDOC

HTML

DOC

PDF

code source

Editeur

Utilisation optimale et professionnelle de PHP

Exemple de balisage PHPDoc

<?php/** * Classe d'abstraction pour la base de données */class AFUP_Base_De_Donnees{ /** * Lien de la connection vers le serveur * @var string * @access private */

var $_lien = null;

/** * Contructeur. Etablit une connexion au serveur et sélectionne la base de données indiquée * * @param string $hote Adresse du serveur * @param string $base Nom de la base * @param string $utilisateur Nom de l'utilisateur * @param string $mot_de_passe Mot de passe * @access public * @return void */

function AFUP_Base_De_Donnees($hote, $base, $utilisateur, $mot_de_passe){

$this->_lien = mysql_connect($hote, $utilisateur, $mot_de_passe) or die('Connexion à la base de données impossible'); $this->selectionnerBase($base);

}}?>

Utilisation optimale et professionnelle de PHP

Exemple de rendu par PHPDocumentor

Utilisation optimale et professionnelle de PHP

Les tests unitaires

● Ils garantissent l'intégrité des opérations élémentaires et empêchent les régressions.

● L'investissement en temps passé au début est toujours rentabilisé par la suite : – Détection automatique des problèmes.– Détection et correction immédiate des

erreurs. – Détecte les exceptions à l'exécution.– Met en oeuvre des exemples d'utilisation.

Utilisation optimale et professionnelle de PHP

Les tests de recette

● Les tests unitaires permettent de tester les objets techniques et métiers

● Les tests de recette simulent des scénarios utilisateurs

● Il existe différentes approches techniques :– Simulation du navigateur (Simple Test)– Exécution des tests dans le navigateur

(Selenium)

Utilisation optimale et professionnelle de PHP

Exemple de test de recette

Utilisation optimale et professionnelle de PHP

Optimiser les développements à plusieurs

● Utiliser un gestionnaire de versions– Objectifs– Principe

● Gestionnaires de versions courants– CVS– Subversion

● Différents types de clients– Application autonome– Intégration dans le système d'exploitation– Intégration dans l'IDE

Utilisation optimale et professionnelle de PHP

Outils de maintenance

● Génération automatique des applications– Principe / objectif– Un outil : Phing

● Déploiement automatisé– Scripts CLI– Utilisation d'un gestionnaire (PEAR)

● Maintenant avancée– Les nightly builds

Utilisation optimale et professionnelle de PHP

Exemple d'utilisation de Phing

<?xml version="1.0"?><project name="MonApplication" default="archivage" basedir="."> <target name="preparation"> <echo msg="Préparation ..." /> <mkdir dir="./build" /> </target> <target name="copie" depends="preparation"> <echo>Construction ...</echo> <copy file="./src/Fichier.php" to="./build/Fichier.php"/> <copy file="./src/Fichier2.php" to="./build/Fichier2.php"/> </target> <target name="archivage" depends="copie"> <echo message="Création de l'archive ..." /> <tar outfile="MonApplication.tar.gz" basedir="./build"/> </target> <target name="nettoyage"> <echo msg="Nettoyage ..."/> <delete file="./build"/> </target></project>

Utilisation optimale et professionnelle de PHP

Optimisation à l'exécution : cache de bas niveau

● Qu'est-ce qu'un cache d'opcodes ?– Principe– Cache d'opcodes existants

● Utilisation avancée du cache d'opcodes– Mémoire partagée avec APC– Extraction d'informations

Utilisation optimale et professionnelle de PHP

Fonctionnement des caches d'opcodes

Utilisation optimale et professionnelle de PHP

Optimisation à l'exécution : cache de haut niveau

● Principe du cache de haut niveau– Cache de pages– Cache partiel (de données)

● Solutions de cache– Cache du moteur de templates– Cache manuel– Outils de cache

● jpcache● PEAR::Cache et PEAR::Cache_Lite

Utilisation optimale et professionnelle de PHP

Références

"Best practices PHP 5" est un ouvrage français spécialement dédié à l'utilisation optimale de PHP dans le monde professionnel.

Cet ouvrage répertorie, de la conception à l'exploitation, les meilleures pratiques de développement PHP et les erreurs courantes à éviter. Il est un condensé d'expertise acquise au cours de nombreuses années d'adoption de PHP en entreprise.

Guillaume Ponçon est actuellement responsable des formations PHP chez Anaska et organise des formations PHP expert et bonnes pratiques efficaces pour le monde professionnel, en collaboration avec les meilleurs experts PHP et J2EE francophones.

http://www.anaska.com/formation-php.php

top related