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.
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. 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. 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. 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. 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. Installation de PHP :
débogage : Xdebug + Kcachegrind
Utilisation optimale et professionnelle de PHP
8. Installation de PHP :
quelques liens
●
WAMP : http://www.wampserver.com
●
PHP : http://www.php.net
Utilisation optimale et professionnelle de PHP
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. 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. 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. 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. 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. 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. 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. La documentation
PHPDOC est la norme à respecter.
code source
DOC DOC
PHPDOC
PDF HTML
Editeur
Utilisation optimale et professionnelle de PHP
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. Exemple de rendu par PHPDocumentor
Utilisation optimale et professionnelle de PHP
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. 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. Exemple de test de recette
Utilisation optimale et professionnelle de PHP
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. 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
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. 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