Julien PAULI est expert PHP avec une dizaine d'années d'expérience.
Il travaille dans l'opensource et contribue à certains projets comme Zend Framework, Apache ou encore PHP
lui-même.
Il est architecte logiciel expert certifié PHP/ZendFramework et travaille en conseil et formation chez AlterWay.
Il est également co-auteur d'un ouvrage "Zend Framework, bien développer en PHP" (Eyrolles)
Membre de l'AFUP, conférencier et animé par l'esprit de
partage, il écrit de nombreux articles techniques pour la communauté Développez
|
|
Share
Articles
PHP
Système
Maitrise de la gestion des variables
Tout le monde sait manipuler des variables en PHP. Peut-on en dire autant quand les concepts de "copie" et de "références" entrent en jeu ? Nous allons détailler comment fonctionnent les variables au niveau interne à PHP. Cela nous permettra de comprendre très nettement les mécanismes mis en oeuvre lors de l'utilisation d'objets, de références, de fonctions ou de simples variables globales.
Compilation détaillée de PHP sous Linux
PHP est écrit en C, et à ce titre il est compilable en langage machine. Nous allons détailler comment fonctionne ce processus sous Linux, ainsi qu'une partie de l'éco-système de PHP : ses extensions, les bibliothèques utilisées, son moteur... Pour suivre cet article, vous devez connaitre le langage PHP et avoir quelques notions d'UNIX, c'est tout. Nous effleurerons également quelques concepts relatifs au langage C, sans rentrer dans les détails. La version de PHP considérée est 5.3.x.
Web
PHPUnit avancé : patterns de tests
Nous avons déjà compris le fonctionnement de PHPUnit et le principe des tests en développement PHP, au travers de l'article Développement piloté par les tests avec PHPUnit. Nous allons à présent montrer les fonctionnalités avancées de PHPUnit notamment concernant les patterns de tests, Mock, Stub, Double, Spy ; nous verrons comment les mettre en place au travers d'un exemple simple et concret, et en quoi ces techniques peuvent rapidement devenir addictives. Pour cela, il conviendra de rappeler les grands principes du développement logiciel orienté objet : SOLID.
Création d'objets ActiveRecord avec PDO
PDO est une extension (compilée nativement) de PHP qui signifie PHP Data Object. Elle est aujourd'hui très utilisée dans PHP et représente une référence à connaitre. Nous allons voir comment mettre en place un système permettant la création d'objets ActiveRecord sauvegardables, basés sur PDO.
Le développement piloté par les tests avec PHPUnit
Les tests, au même titre que la documentation, font parti du code. Un code fouilli est difficilement testable. Un code testable est un code maintenable.
Tester son code permet de mieux appréhender le changement de spécifications et de valider le bon fonctionnement d'un algorithme.
Nous allons voir une initiation au développement piloté par les tests, avec PHPUnit.
Le cache d'OPCode APC
Le cache d'OPCodes permet des économies de traitements divers dans le coeur de PHP. Il augmente la vitesse générale de traitement d'une requête par PHP, et il est souvent la solution d'optimisation la plus simple à mettre en place. Cet article va expliquer comment installer, configurer et gérer un cache OPCodes pour PHP : Alternative PHP Cache (APC).
Un point sur la certification Zend pour PHP
Apparue en 2004, la certification Zend est l'unique certification qui existe au monde sur PHP. Actuellement uniquement sur PHP5, elle a la particularité d'être plutôt complexe.
Plus que PHP, elle sert à évaluer les aptitudes du candidat sur le web et la programmation dans sa globalité. POO, Design Patterns, reconnaissance de failles de sécurité, protocole HTTP, gestion des flux de données, XML et services webs, sont autant de questions qui sont posées.
Etant moi-même formateur à la certification chez Anaska, je vous propose dans cet article, de passer en revue les sujets abordés, mais aussi les questions types, les astuces et les pièges à éviter.
La gestion avancée des dates
Depuis PHP 5.1, la gestion des dates en PHP a profondément changé. Certaines fonctions ont été réécrites, la gestion interne des dates s'est agrandie et elle est devenue indépendante de l'OS sous-jascent.
De nouveaux objets/fonctions ont fait leur apparition qui apportent, entres autres, la gestion des fuseaux et décalages horaires (heure d'été), autant de notions intéréssantes en développement web et sur lesquelles il serait dommage de faire l'impasse. Faisons un point dessus.
Les liaisons UML implémentées avec PHP
UML définit plusieurs liens remarquables entre les classes. La totalité de ces liens pondérés permet de mesurer ce que l'on appelle le couplage. Savoir lire un diagramme de classes est aujourd'hui indispensable pour la conception d'une application web.
PHP ne fait pas exception à cela, son modèle objet étant très mûr et tout à fait capable.
Nous allons ici présenter les différentes liaisons, leurs caracteristiques ainsi que leurs avantages/inconvénients et quand les utiliser. Association, héritage, agrégation, composition.
Dans cet article, nous allons voir comment utiliser ces liaisons avec PHP.
Design Pattern observateur tout en puissance
Le design pattern observateur est un classique du GOF, il participe au découplage et à la réduction des dépendances.
En général, 2 interfaces sont utilisées, on peut aussi manipuler des classes abstraites.
Nous allons ici montrer un exemple complet de son utilisation et nous allons nous aider de la puissante librairie objet interne de PHP : la SPL.
Introduction à la SPL : Standard PHP Library
PHP5 possède un modèle objet 'non vide' : il est agrémenté de classes et d'interfaces internes, réunis dans ce qu'on appelle la SPL, ou Standard PHP Library.
Nous allons décrire en quoi ils peuvent s'avérer très utiles.
Le modèle MVC et le controleur
De tous les motifs de conception ( Design patterns ), le motif MVC est sans doute celui sur lequel il y a le plus à dire. Je vais cependant rester simple, le but de cet article est de comprendre MVC, et pourquoi MVC ?
Zend Framework
Apache
Conception détaillée d'hôtes virtuels sous Apache
Souvent peu compris, l'hébergement virtuel est de nos jours un acquis. Un même serveur physique/logiciel capable d'héberger plusieurs sites parfois très différents, voila ce qu'est le "virtual hosting" (vhost)
Dans cet article, nous allons voir comment mettre en place un hébergement virtuel sous Apache, avec le détail de toutes les facettes : types de vhost, sécurité, contrôle d'accès, DNS...
Configurer un forward proxy simple avec Apache
Nous allons détailler la mise en place d'un proxy forward avec Apache2. Nous partirons depuis la compilation du logiciel, jusqu'à sa configuration complète, mise en cache comprise.
En Français, un proxy se traduit par "serveur mandataire". Nous garderons cependant le mot "proxy" dans cet article.
Web
HTTP : le protocole du Web passé en revue
HTTP est le protocole du Web. Comprendre HTTP, c'est comprendre une bonne partie du fonctionnement du Web et une partie conséquente des enjeux d'aujourd'hui concernant la sécurité des applications webs. Nous allons détailler dans cet article le protocole en lui-même. Vous allez voir qu'il n'est pas spécialement simple, contrairement à ce qu'on pourrait penser, et qu'une mauvaise compréhension ou utilisation peuvent avoir des repercussions néfastes, notamment sur les performances, le rendu final de la réponse, voire la sécurité du réseau. Nous nous rendrons aussi compte qu'il est complet, et qu'à ce titre on utilise rarement son plein potenciel, à tort (même si quelques fonctionnalités sont tout de même très spécifiques).
Developpement web : Généralités sur la sécurité
Nous allons voir les grands points, concernant la sécurité, à garder en tête dans le cadre du développement d'une application web, car on ne peut développer sans en tenir compte, et ceci implique des connaissances profondes du fonctionnement d'Internet en général, et d'une application web.
Ouvrages
 | Cet ouvrage présente les meilleures pratiques de développement web avec PHP5 et le Zend Framework :
design patterns - MVC - bases de données - sécurité - intéropérabilité - tests unitaires - gestion de flux et de sessions ...
Non sans rappeler les prérequis techniques et théoriques à l'utilisation du framework, l'ouvrage aidera tant les développeurs débutants en PHP que les chefs
de projets ou architectes aguerris souhaitant l'utiliser en entreprise. |
Reportages
Présentation du Framework Symfony pour PHP5
En mars 2007, Fabien Potencier a présenté Symfony à l'occasion d'une conférence AFUP. Symfony est un Framework développé par des professionnels expérimentés, destiné à bâtir des applications moyennes à lourdes.
Copyright © 2006 Julien Pauli. Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.