Utilisation optimale et professionnelle de PHP

3 462 vues

Publié le

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.

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

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

Aucune remarque pour cette diapositive

Utilisation optimale et professionnelle de PHP

  1. 1. PHP Utilisation optimale et professionnelle Utilisation optimale et professionnelle de PHP
  2. 2. Vos conférenciers ● Jean-Marc Fontaine Fondateur de Kanopée jmf@kanopee.net ● Guillaume Ponçon Architecte / Formateur PHP chez Anaska Auteur 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. Installation de PHP : erreurs du monde professionnel ● Laisser la quot;conf par défautquot; ● 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
  7. 7. Installation de PHP : débogage : Xdebug + Kcachegrind Utilisation optimale et professionnelle de PHP
  8. 8. Installation de PHP : quelques liens ● WAMP : http://www.wampserver.com ● PHP : http://www.php.net Utilisation optimale et professionnelle de PHP
  9. 9. 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
  10. 10. Développement : les architectures types ● Le site simple – Ne nécessite aucune ou peu de préparation – Stratégie de débogage à la quot;ifquot; / quot;echoquot;, 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. L'architecture MVC ● Une application basée sur MVC : visiteur Contrôleur Modèle Vue Données templates Bibliothèques Utilisation optimale et professionnelle de PHP
  15. 15. 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
  16. 16. La documentation PHPDOC est la norme à respecter. code source DOC DOC PHPDOC PDF HTML Editeur Utilisation optimale et professionnelle de PHP
  17. 17. 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
  18. 18. Exemple de rendu par PHPDocumentor Utilisation optimale et professionnelle de PHP
  19. 19. 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
  20. 20. 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
  21. 21. Exemple de test de recette Utilisation optimale et professionnelle de PHP
  22. 22. 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
  23. 23. 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
  24. 24. Exemple d'utilisation de Phing <?xml version=quot;1.0quot;?> <project name=quot;MonApplicationquot; default=quot;archivagequot; basedir=quot;.quot;> <target name=quot;preparationquot;> <echo msg=quot;Préparation ...quot; /> <mkdir dir=quot;./buildquot; /> </target> <target name=quot;copiequot; depends=quot;preparationquot;> <echo>Construction ...</echo> <copy file=quot;./src/Fichier.phpquot; to=quot;./build/Fichier.phpquot;/> <copy file=quot;./src/Fichier2.phpquot; to=quot;./build/Fichier2.phpquot;/> </target> <target name=quot;archivagequot; depends=quot;copiequot;> <echo message=quot;Création de l'archive ...quot; /> <tar outfile=quot;MonApplication.tar.gzquot; basedir=quot;./buildquot;/> </target> <target name=quot;nettoyagequot;> <echo msg=quot;Nettoyage ...quot;/> <delete file=quot;./buildquot;/> </target> </project> Utilisation optimale et professionnelle de PHP
  25. 25. 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
  26. 26. Fonctionnement des caches d'opcodes Utilisation optimale et professionnelle de PHP
  27. 27. 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
  28. 28. Références quot;Best practices PHP 5quot; 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 Utilisation optimale et professionnelle de PHP

×